github.com/kim0/docker@v0.6.2-0.20161130212042-4addda3f07e7/cli/command/commands/commands.go (about)

     1  package commands
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/docker/docker/cli/command"
     7  	"github.com/docker/docker/cli/command/checkpoint"
     8  	"github.com/docker/docker/cli/command/container"
     9  	"github.com/docker/docker/cli/command/image"
    10  	"github.com/docker/docker/cli/command/network"
    11  	"github.com/docker/docker/cli/command/node"
    12  	"github.com/docker/docker/cli/command/plugin"
    13  	"github.com/docker/docker/cli/command/registry"
    14  	"github.com/docker/docker/cli/command/service"
    15  	"github.com/docker/docker/cli/command/stack"
    16  	"github.com/docker/docker/cli/command/swarm"
    17  	"github.com/docker/docker/cli/command/system"
    18  	"github.com/docker/docker/cli/command/volume"
    19  	"github.com/spf13/cobra"
    20  )
    21  
    22  // AddCommands adds all the commands from cli/command to the root command
    23  func AddCommands(cmd *cobra.Command, dockerCli *command.DockerCli) {
    24  	cmd.AddCommand(
    25  		node.NewNodeCommand(dockerCli),
    26  		service.NewServiceCommand(dockerCli),
    27  		swarm.NewSwarmCommand(dockerCli),
    28  		container.NewContainerCommand(dockerCli),
    29  		image.NewImageCommand(dockerCli),
    30  		system.NewSystemCommand(dockerCli),
    31  		container.NewRunCommand(dockerCli),
    32  		image.NewBuildCommand(dockerCli),
    33  		network.NewNetworkCommand(dockerCli),
    34  		hide(system.NewEventsCommand(dockerCli)),
    35  		registry.NewLoginCommand(dockerCli),
    36  		registry.NewLogoutCommand(dockerCli),
    37  		registry.NewSearchCommand(dockerCli),
    38  		system.NewVersionCommand(dockerCli),
    39  		volume.NewVolumeCommand(dockerCli),
    40  		hide(system.NewInfoCommand(dockerCli)),
    41  		hide(container.NewAttachCommand(dockerCli)),
    42  		hide(container.NewCommitCommand(dockerCli)),
    43  		hide(container.NewCopyCommand(dockerCli)),
    44  		hide(container.NewCreateCommand(dockerCli)),
    45  		hide(container.NewDiffCommand(dockerCli)),
    46  		hide(container.NewExecCommand(dockerCli)),
    47  		hide(container.NewExportCommand(dockerCli)),
    48  		hide(container.NewKillCommand(dockerCli)),
    49  		hide(container.NewLogsCommand(dockerCli)),
    50  		hide(container.NewPauseCommand(dockerCli)),
    51  		hide(container.NewPortCommand(dockerCli)),
    52  		hide(container.NewPsCommand(dockerCli)),
    53  		hide(container.NewRenameCommand(dockerCli)),
    54  		hide(container.NewRestartCommand(dockerCli)),
    55  		hide(container.NewRmCommand(dockerCli)),
    56  		hide(container.NewStartCommand(dockerCli)),
    57  		hide(container.NewStatsCommand(dockerCli)),
    58  		hide(container.NewStopCommand(dockerCli)),
    59  		hide(container.NewTopCommand(dockerCli)),
    60  		hide(container.NewUnpauseCommand(dockerCli)),
    61  		hide(container.NewUpdateCommand(dockerCli)),
    62  		hide(container.NewWaitCommand(dockerCli)),
    63  		hide(image.NewHistoryCommand(dockerCli)),
    64  		hide(image.NewImagesCommand(dockerCli)),
    65  		hide(image.NewImportCommand(dockerCli)),
    66  		hide(image.NewLoadCommand(dockerCli)),
    67  		hide(image.NewPullCommand(dockerCli)),
    68  		hide(image.NewPushCommand(dockerCli)),
    69  		hide(image.NewRemoveCommand(dockerCli)),
    70  		hide(image.NewSaveCommand(dockerCli)),
    71  		hide(image.NewTagCommand(dockerCli)),
    72  		hide(system.NewInspectCommand(dockerCli)),
    73  	)
    74  
    75  	if dockerCli.HasExperimental() {
    76  		cmd.AddCommand(
    77  			stack.NewStackCommand(dockerCli),
    78  			stack.NewTopLevelDeployCommand(dockerCli),
    79  			checkpoint.NewCheckpointCommand(dockerCli),
    80  			plugin.NewPluginCommand(dockerCli),
    81  		)
    82  	}
    83  
    84  }
    85  
    86  func hide(cmd *cobra.Command) *cobra.Command {
    87  	if os.Getenv("DOCKER_HIDE_LEGACY_COMMANDS") == "" {
    88  		return cmd
    89  	}
    90  	cmdCopy := *cmd
    91  	cmdCopy.Hidden = true
    92  	cmdCopy.Aliases = []string{}
    93  	return &cmdCopy
    94  }