MCPcopy
hub / github.com/caddyserver/caddy / cmdAddPackage

Function cmdAddPackage

cmd/packagesfuncs.go:68–94  ·  view source on GitHub ↗
(fl Flags)

Source from the content-addressed store, hash-verified

66}
67
68func cmdAddPackage(fl Flags) (int, error) {
69 if len(fl.Args()) == 0 {
70 return caddy.ExitCodeFailedStartup, fmt.Errorf("at least one package name must be specified")
71 }
72 _, nonstandard, _, err := getModules()
73 if err != nil {
74 return caddy.ExitCodeFailedStartup, fmt.Errorf("unable to enumerate installed plugins: %v", err)
75 }
76 pluginPkgs, err := getPluginPackages(nonstandard)
77 if err != nil {
78 return caddy.ExitCodeFailedStartup, err
79 }
80
81 for _, arg := range fl.Args() {
82 module, version, err := splitModule(arg)
83 if err != nil {
84 return caddy.ExitCodeFailedStartup, fmt.Errorf("invalid module name: %v", err)
85 }
86 // only allow a version to be specified if it's different from the existing version
87 if _, ok := pluginPkgs[module]; ok && (version == "" || pluginPkgs[module].Version == version) {
88 return caddy.ExitCodeFailedStartup, fmt.Errorf("package is already added")
89 }
90 pluginPkgs[module] = pluginPackage{Version: version, Path: module}
91 }
92
93 return upgradeBuild(pluginPkgs, fl)
94}
95
96func cmdRemovePackage(fl Flags) (int, error) {
97 if len(fl.Args()) == 0 {

Callers

nothing calls this directly

Calls 5

getModulesFunction · 0.85
getPluginPackagesFunction · 0.85
splitModuleFunction · 0.85
upgradeBuildFunction · 0.85
ArgsMethod · 0.80

Tested by

no test coverage detected