Browse code

Make all the experimental subcommand consistent.

Signed-off-by: Daniel Nephin <dnephin@docker.com>

Daniel Nephin authored on 2016/09/20 03:31:53
Showing 8 changed files
... ...
@@ -7,6 +7,7 @@ import (
7 7
 	"github.com/spf13/cobra"
8 8
 )
9 9
 
10
-// NewCheckpointCommand appends the `checkpoint` subcommands to rootCmd (only in experimental)
11
-func NewCheckpointCommand(rootCmd *cobra.Command, dockerCli *command.DockerCli) {
10
+// NewCheckpointCommand returns the `checkpoint` subcommand (only in experimental)
11
+func NewCheckpointCommand(dockerCli *command.DockerCli) *cobra.Command {
12
+	return &cobra.Command{}
12 13
 }
... ...
@@ -11,8 +11,8 @@ import (
11 11
 	"github.com/docker/docker/cli/command"
12 12
 )
13 13
 
14
-// NewCheckpointCommand appends the `checkpoint` subcommands to rootCmd
15
-func NewCheckpointCommand(rootCmd *cobra.Command, dockerCli *command.DockerCli) {
14
+// NewCheckpointCommand returns the `checkpoint` subcommand (only in experimental)
15
+func NewCheckpointCommand(dockerCli *command.DockerCli) *cobra.Command {
16 16
 	cmd := &cobra.Command{
17 17
 		Use:   "checkpoint",
18 18
 		Short: "Manage checkpoints",
... ...
@@ -26,6 +26,5 @@ func NewCheckpointCommand(rootCmd *cobra.Command, dockerCli *command.DockerCli)
26 26
 		newListCommand(dockerCli),
27 27
 		newRemoveCommand(dockerCli),
28 28
 	)
29
-
30
-	rootCmd.AddCommand(cmd)
29
+	return cmd
31 30
 }
... ...
@@ -71,9 +71,9 @@ func AddCommands(cmd *cobra.Command, dockerCli *command.DockerCli) {
71 71
 		hide(image.NewSaveCommand(dockerCli)),
72 72
 		hide(image.NewTagCommand(dockerCli)),
73 73
 		hide(system.NewInspectCommand(dockerCli)),
74
+		checkpoint.NewCheckpointCommand(dockerCli),
75
+		plugin.NewPluginCommand(dockerCli),
74 76
 	)
75
-	checkpoint.NewCheckpointCommand(cmd, dockerCli)
76
-	plugin.NewPluginCommand(cmd, dockerCli)
77 77
 }
78 78
 
79 79
 func hide(cmd *cobra.Command) *cobra.Command {
... ...
@@ -8,5 +8,6 @@ import (
8 8
 )
9 9
 
10 10
 // NewPluginCommand returns a cobra command for `plugin` subcommands
11
-func NewPluginCommand(cmd *cobra.Command, dockerCli *command.DockerCli) {
11
+func NewPluginCommand(dockerCli *command.DockerCli) *cobra.Command {
12
+	return &cobra.Command{}
12 13
 }
... ...
@@ -11,7 +11,7 @@ import (
11 11
 )
12 12
 
13 13
 // NewPluginCommand returns a cobra command for `plugin` subcommands
14
-func NewPluginCommand(rootCmd *cobra.Command, dockerCli *command.DockerCli) {
14
+func NewPluginCommand(dockerCli *command.DockerCli) *cobra.Command {
15 15
 	cmd := &cobra.Command{
16 16
 		Use:   "plugin",
17 17
 		Short: "Manage plugins",
... ...
@@ -31,6 +31,5 @@ func NewPluginCommand(rootCmd *cobra.Command, dockerCli *command.DockerCli) {
31 31
 		newSetCommand(dockerCli),
32 32
 		newPushCommand(dockerCli),
33 33
 	)
34
-
35
-	rootCmd.AddCommand(cmd)
34
+	return cmd
36 35
 }
... ...
@@ -1,39 +1,18 @@
1
-// +build experimental
1
+// +build !experimental
2 2
 
3 3
 package stack
4 4
 
5 5
 import (
6
-	"fmt"
7
-
8
-	"github.com/docker/docker/cli"
9 6
 	"github.com/docker/docker/cli/command"
10 7
 	"github.com/spf13/cobra"
11 8
 )
12 9
 
13
-// NewStackCommand returns a cobra command for `stack` subcommands
10
+// NewStackCommand returns no command
14 11
 func NewStackCommand(dockerCli *command.DockerCli) *cobra.Command {
15
-	cmd := &cobra.Command{
16
-		Use:   "stack",
17
-		Short: "Manage stacks",
18
-		Args:  cli.NoArgs,
19
-		Run: func(cmd *cobra.Command, args []string) {
20
-			fmt.Fprintf(dockerCli.Err(), "\n"+cmd.UsageString())
21
-		},
22
-	}
23
-	cmd.AddCommand(
24
-		newConfigCommand(dockerCli),
25
-		newDeployCommand(dockerCli),
26
-		newRemoveCommand(dockerCli),
27
-		newServicesCommand(dockerCli),
28
-		newPsCommand(dockerCli),
29
-	)
30
-	return cmd
12
+	return &cobra.Command{}
31 13
 }
32 14
 
33
-// NewTopLevelDeployCommand returns a command for `docker deploy`
15
+// NewTopLevelDeployCommand returns no command
34 16
 func NewTopLevelDeployCommand(dockerCli *command.DockerCli) *cobra.Command {
35
-	cmd := *newDeployCommand(dockerCli)
36
-	// Remove the aliases at the top level
37
-	cmd.Aliases = []string{}
38
-	return &cmd
17
+	return &cobra.Command{}
39 18
 }
40 19
new file mode 100644
... ...
@@ -0,0 +1,39 @@
0
+// +build experimental
1
+
2
+package stack
3
+
4
+import (
5
+	"fmt"
6
+
7
+	"github.com/docker/docker/cli"
8
+	"github.com/docker/docker/cli/command"
9
+	"github.com/spf13/cobra"
10
+)
11
+
12
+// NewStackCommand returns a cobra command for `stack` subcommands
13
+func NewStackCommand(dockerCli *command.DockerCli) *cobra.Command {
14
+	cmd := &cobra.Command{
15
+		Use:   "stack",
16
+		Short: "Manage Docker stacks",
17
+		Args:  cli.NoArgs,
18
+		Run: func(cmd *cobra.Command, args []string) {
19
+			fmt.Fprintf(dockerCli.Err(), "\n"+cmd.UsageString())
20
+		},
21
+	}
22
+	cmd.AddCommand(
23
+		newConfigCommand(dockerCli),
24
+		newDeployCommand(dockerCli),
25
+		newRemoveCommand(dockerCli),
26
+		newServicesCommand(dockerCli),
27
+		newPsCommand(dockerCli),
28
+	)
29
+	return cmd
30
+}
31
+
32
+// NewTopLevelDeployCommand returns a command for `docker deploy`
33
+func NewTopLevelDeployCommand(dockerCli *command.DockerCli) *cobra.Command {
34
+	cmd := newDeployCommand(dockerCli)
35
+	// Remove the aliases at the top level
36
+	cmd.Aliases = []string{}
37
+	return cmd
38
+}
0 39
deleted file mode 100644
... ...
@@ -1,18 +0,0 @@
1
-// +build !experimental
2
-
3
-package stack
4
-
5
-import (
6
-	"github.com/docker/docker/cli/command"
7
-	"github.com/spf13/cobra"
8
-)
9
-
10
-// NewStackCommand returns no command
11
-func NewStackCommand(dockerCli *command.DockerCli) *cobra.Command {
12
-	return &cobra.Command{}
13
-}
14
-
15
-// NewTopLevelDeployCommand returns no command
16
-func NewTopLevelDeployCommand(dockerCli *command.DockerCli) *cobra.Command {
17
-	return &cobra.Command{}
18
-}