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

Function gopyRunCmdGen

cmd_gen.go:45–93  ·  view source on GitHub ↗
(cmdr *commander.Command, args []string)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected