MCPcopy Index your code
hub / github.com/go-python/gopy / gopyRunCmdBuild

Function gopyRunCmdBuild

cmd_build.go:53–90  ·  view source on GitHub ↗
(cmdr *commander.Command, args []string)

Source from the content-addressed store, hash-verified

51}
52
53func gopyRunCmdBuild(cmdr *commander.Command, args []string) error {
54 if len(args) == 0 {
55 err := fmt.Errorf("gopy: expect a fully qualified go package name as argument")
56 log.Println(err)
57 return err
58 }
59
60 cfg := NewBuildCfg()
61 cfg.OutputDir = cmdr.Flag.Lookup("output").Value.Get().(string)
62 cfg.Name = cmdr.Flag.Lookup("name").Value.Get().(string)
63 cfg.Main = cmdr.Flag.Lookup("main").Value.Get().(string)
64 cfg.VM = cmdr.Flag.Lookup("vm").Value.Get().(string)
65 cfg.PkgPrefix = cmdr.Flag.Lookup("package-prefix").Value.Get().(string)
66 cfg.RenameCase = cmdr.Flag.Lookup("rename").Value.Get().(bool)
67 cfg.Symbols = cmdr.Flag.Lookup("symbols").Value.Get().(bool)
68 cfg.NoWarn = cmdr.Flag.Lookup("no-warn").Value.Get().(bool)
69 cfg.NoMake = cmdr.Flag.Lookup("no-make").Value.Get().(bool)
70 cfg.DynamicLinking = cmdr.Flag.Lookup("dynamic-link").Value.Get().(bool)
71 cfg.BuildTags = cmdr.Flag.Lookup("build-tags").Value.Get().(string)
72
73 bind.NoWarn = cfg.NoWarn
74 bind.NoMake = cfg.NoMake
75
76 for _, path := range args {
77 bpkg, err := loadPackage(path, true, cfg.BuildTags) // build first
78 if err != nil {
79 return fmt.Errorf("gopy-gen: go build / load of package failed with path=%q: %v", path, err)
80 }
81 pkg, err := parsePackage(bpkg)
82 if err != nil {
83 return err
84 }
85 if cfg.Name == "" {
86 cfg.Name = pkg.Name()
87 }
88 }
89 return runBuild("build", cfg)
90}
91
92// runBuild calls genPkg and then executes commands to build the resulting files
93// exe = executable mode to build an executable instead of a library

Callers

nothing calls this directly

Calls 7

NewBuildCfgFunction · 0.85
loadPackageFunction · 0.85
parsePackageFunction · 0.85
runBuildFunction · 0.85
PrintlnMethod · 0.80
LookupMethod · 0.80
NameMethod · 0.45

Tested by

no test coverage detected