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

Function gopyRunCmdExe

cmd_exe.go:67–139  ·  view source on GitHub ↗
(cmdr *commander.Command, args []string)

Source from the content-addressed store, hash-verified

65}
66
67func gopyRunCmdExe(cmdr *commander.Command, args []string) error {
68 if len(args) == 0 {
69 err := fmt.Errorf("gopy: expect a fully qualified go package name as argument")
70 log.Println(err)
71 return err
72 }
73
74 cfg := NewBuildCfg()
75 cfg.OutputDir = cmdr.Flag.Lookup("output").Value.Get().(string)
76 cfg.Name = cmdr.Flag.Lookup("name").Value.Get().(string)
77 cfg.Main = cmdr.Flag.Lookup("main").Value.Get().(string)
78 cfg.VM = cmdr.Flag.Lookup("vm").Value.Get().(string)
79 // cfg.PkgPrefix = cmdr.Flag.Lookup("package-prefix").Value.Get().(string)
80 cfg.PkgPrefix = "" // doesn't make sense for exe
81 cfg.RenameCase = cmdr.Flag.Lookup("rename").Value.Get().(bool)
82 cfg.Symbols = cmdr.Flag.Lookup("symbols").Value.Get().(bool)
83 cfg.NoWarn = cmdr.Flag.Lookup("no-warn").Value.Get().(bool)
84 cfg.NoMake = cmdr.Flag.Lookup("no-make").Value.Get().(bool)
85 cfg.DynamicLinking = cmdr.Flag.Lookup("dynamic-link").Value.Get().(bool)
86 cfg.BuildTags = cmdr.Flag.Lookup("build-tags").Value.Get().(string)
87
88 var (
89 exclude = cmdr.Flag.Lookup("exclude").Value.Get().(string)
90 user = cmdr.Flag.Lookup("user").Value.Get().(string)
91 version = cmdr.Flag.Lookup("version").Value.Get().(string)
92 author = cmdr.Flag.Lookup("author").Value.Get().(string)
93 email = cmdr.Flag.Lookup("email").Value.Get().(string)
94 desc = cmdr.Flag.Lookup("desc").Value.Get().(string)
95 url = cmdr.Flag.Lookup("url").Value.Get().(string)
96 )
97
98 bind.NoWarn = cfg.NoWarn
99 bind.NoMake = cfg.NoMake
100
101 if cfg.Name == "" {
102 path := args[0]
103 _, cfg.Name = filepath.Split(path)
104 }
105
106 var err error
107 cfg.OutputDir, err = genOutDir(cfg.OutputDir)
108 if err != nil {
109 return err
110 }
111
112 setupfn := filepath.Join(cfg.OutputDir, "setup.py")
113
114 if _, err = os.Stat(setupfn); os.IsNotExist(err) {
115 err = GenPyPkgSetup(cfg, user, version, author, email, desc, url)
116 if err != nil {
117 return err
118 }
119 }
120
121 defex := []string{"testdata", "internal", "python", "examples", "cmd"}
122 excl := append(strings.Split(exclude, ","), defex...)
123 exmap := make(map[string]struct{})
124 for i := range excl {

Callers

nothing calls this directly

Calls 7

NewBuildCfgFunction · 0.85
genOutDirFunction · 0.85
GenPyPkgSetupFunction · 0.85
buildPkgRecurseFunction · 0.85
runBuildFunction · 0.85
PrintlnMethod · 0.80
LookupMethod · 0.80

Tested by

no test coverage detected