From 731a707260358067c407993475875295a23283e4 Mon Sep 17 00:00:00 2001 From: tsingbx Date: Sat, 19 Oct 2024 11:21:49 +0800 Subject: [PATCH] gogensig: add go mod init conf.Name and go get github.com/goplus/llgo --- .gitignore | 4 ++++ chore/gogensig/gogensig.go | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/.gitignore b/.gitignore index e7faa0ecb..e813beb81 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,10 @@ _tinygo/ _output/ build.dir/ .vscode/ +.devcontainer + +*.cfg +*.json # Test binary, built with `go test -c` *.test diff --git a/chore/gogensig/gogensig.go b/chore/gogensig/gogensig.go index fbd51e5ca..26140b048 100644 --- a/chore/gogensig/gogensig.go +++ b/chore/gogensig/gogensig.go @@ -19,6 +19,8 @@ package main import ( "io" "os" + "os/exec" + "path/filepath" "github.com/goplus/llgo/chore/gogensig/config" "github.com/goplus/llgo/chore/gogensig/convert" @@ -27,6 +29,23 @@ import ( "github.com/goplus/llgo/chore/gogensig/visitor" ) +func runCommand(dir, cmdName string, args ...string) error { + execCmd := exec.Command(cmdName, args...) + execCmd.Stdout = os.Stdout + execCmd.Stderr = os.Stderr + execCmd.Dir = dir + return execCmd.Run() +} + +func runGoCmds(pkg string) { + wd, _ := os.Getwd() + dir := filepath.Join(wd, pkg) + os.MkdirAll(dir, 0744) + os.Chdir(pkg) + runCommand(dir, "go", "mod", "init", pkg) + runCommand(dir, "go", "get", "github.com/goplus/llgo") +} + func main() { var data []byte var err error @@ -45,9 +64,12 @@ func main() { data, err = os.ReadFile(sigfetchFile) } check(err) + conf, err := config.GetCppgCfgFromPath("./llcppg.cfg") check(err) + runGoCmds(conf.Name) + astConvert, err := convert.NewAstConvert(&convert.AstConvertConfig{ PkgName: conf.Name, SymbFile: "./llcppg.symb.json", @@ -60,6 +82,7 @@ func main() { err = p.ProcessFileSet(inputdata) check(err) } + func check(err error) { if err != nil { panic(err)