dev: nft/ctl

This commit is contained in:
loveuer
2024-07-09 18:08:49 +08:00
parent bf1c5ad92f
commit 8a423c2887
7 changed files with 458 additions and 0 deletions

View File

@ -0,0 +1,61 @@
package tp
import (
"github.com/loveuer/nf/nft/log"
"os"
"testing"
)
func TestParseInitFile(t *testing.T) {
const init_bs = `
!replace
content
reg
*.go
ultone => {{.PROJECT_NAME}}
EOF
!replace
content
exact
go.mod
module ultone => module {{.PROJECT_NAME}}
EOF
!replace
name
main.go => loveuer.go
EOF
!generate
readme.md
# {{.PROJECT_NAME}}
### run
- ` + "`" + `go run . --help` + "`" + `
- ` + "`" + `go run .` + "`" + `
### build
- ` + "`" + `docker build -t {repo:tag} -f Dockerfile .` + "`" + `
EOF
`
data := map[string]any{
"PROJECT_NAME": "loveuer",
}
result, err := RenderVar([]byte(init_bs), data)
if err != nil {
log.Fatal(err.Error())
}
pwd, _ := os.Getwd()
cmds, err := ParseCmd(pwd, result)
if err != nil {
log.Fatal(err.Error())
}
for _, item := range cmds {
log.Info("one cmd => %s\n\n", item.String())
}
}