Skip to content

Commit 2c1caa6

Browse files
v3.0 (feat): add cmf initializsation and dependencies
1 parent 9327bc5 commit 2c1caa6

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

cmf/cmf.go

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,30 @@ import (
44
"fmt"
55
)
66

7-
var version = "3.0"
7+
const version = "3.0"
8+
const defaultYamlFile = "resources/default.yaml"
9+
const defaultCMFFile = ".cmf.yaml"
810

911
type Repository interface {
1012
CheckWorkspaceChanges()
1113
Commit(message string)
1214
Amend(message string)
1315
}
16+
17+
type TemplateManager interface {
18+
Run(yamlData string, injectedVariables map[string]string) (string, error)
19+
}
20+
21+
type FS interface {
22+
GetFileFromVirtualFS(path string) (string, error)
23+
GetFileFromFS(path string) (string, error)
24+
GetCurrentDirectory() (string, error)
25+
}
26+
1427
type cmf struct {
15-
repository Repository
28+
repository Repository
29+
templateManager TemplateManager
30+
fs FS
1631
}
1732

1833
type CMF interface {
@@ -22,9 +37,11 @@ type CMF interface {
2237
InitializeProject()
2338
}
2439

25-
func NewCMF(repository Repository) CMF {
40+
func NewCMF(repository Repository, templateManager TemplateManager, fsManager FS) CMF {
2641
return &cmf{
27-
repository: repository,
42+
repository: repository,
43+
templateManager: templateManager,
44+
fs: fsManager,
2845
}
2946
}
3047

@@ -36,8 +53,15 @@ func (cmfInstance *cmf) GetVersion() {
3653
// CommitChanges perform a commit changes over current repository
3754
func (cmfInstance *cmf) CommitChanges() {
3855
cmfInstance.repository.CheckWorkspaceChanges()
39-
// message := template.Run()
40-
cmfInstance.repository.Commit("message")
56+
currentDirectory, _ := cmfInstance.fs.GetCurrentDirectory()
57+
cmfFile, err := cmfInstance.fs.GetFileFromFS(currentDirectory + "/" + defaultCMFFile)
58+
if err != nil {
59+
cmfFile, _ = cmfInstance.fs.GetFileFromVirtualFS(defaultYamlFile)
60+
}
61+
62+
extra := map[string]string{}
63+
message, _ := cmfInstance.templateManager.Run(cmfFile, extra)
64+
cmfInstance.repository.Commit(message)
4165
}
4266

4367
// CommitAmend perform a commit amend over current repository

0 commit comments

Comments
 (0)