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

Function gopyRunCmdPkg

cmd_pkg.go:64–135  ·  view source on GitHub ↗
(cmdr *commander.Command, args []string)

Source from the content-addressed store, hash-verified

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

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