summaryrefslogtreecommitdiff
path: root/cmd/podmanV2/main.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-04-16 11:56:16 -0700
committerGitHub <noreply@github.com>2020-04-16 11:56:16 -0700
commit57f3897289e886bbc775584f430f65a8765e4301 (patch)
tree48d126d08e768d91b8c0a9f20e68b8bd98b8f36e /cmd/podmanV2/main.go
parent8b178f12ce34b1ac2b14c1e56cb6e5b3937f7122 (diff)
parent1d93d212541616135da23bcf01ca49180f113e62 (diff)
downloadpodman-57f3897289e886bbc775584f430f65a8765e4301.tar.gz
podman-57f3897289e886bbc775584f430f65a8765e4301.tar.bz2
podman-57f3897289e886bbc775584f430f65a8765e4301.zip
Merge pull request #5848 from jwhonce/wip/options
V2 Enable rootless
Diffstat (limited to 'cmd/podmanV2/main.go')
-rw-r--r--cmd/podmanV2/main.go40
1 files changed, 14 insertions, 26 deletions
diff --git a/cmd/podmanV2/main.go b/cmd/podmanV2/main.go
index cfe20d1c1..de5308121 100644
--- a/cmd/podmanV2/main.go
+++ b/cmd/podmanV2/main.go
@@ -2,7 +2,6 @@ package main
import (
"os"
- "reflect"
_ "github.com/containers/libpod/cmd/podmanV2/containers"
_ "github.com/containers/libpod/cmd/podmanV2/healthcheck"
@@ -27,36 +26,25 @@ func main() {
// had a specific job to do as a subprocess, and it's done.
return
}
+
for _, c := range registry.Commands {
- if Contains(registry.PodmanOptions.EngineMode, c.Mode) {
- parent := rootCmd
- if c.Parent != nil {
- parent = c.Parent
+ for _, m := range c.Mode {
+ if registry.PodmanOptions.EngineMode == m {
+ parent := rootCmd
+ if c.Parent != nil {
+ parent = c.Parent
+ }
+ parent.AddCommand(c.Command)
+
+ // - templates need to be set here, as PersistentPreRunE() is
+ // not called when --help is used.
+ // - rootCmd uses cobra default template not ours
+ c.Command.SetHelpTemplate(helpTemplate)
+ c.Command.SetUsageTemplate(usageTemplate)
}
- parent.AddCommand(c.Command)
}
}
Execute()
os.Exit(0)
}
-
-func Contains(item interface{}, slice interface{}) bool {
- s := reflect.ValueOf(slice)
-
- switch s.Kind() {
- case reflect.Array:
- fallthrough
- case reflect.Slice:
- break
- default:
- return false
- }
-
- for i := 0; i < s.Len(); i++ {
- if s.Index(i).Interface() == item {
- return true
- }
- }
- return false
-}