()
| 85 | } |
| 86 | |
| 87 | func init() { |
| 88 | RootCmd.AddCommand(PushCmd) |
| 89 | |
| 90 | appRoot, err := ddevapp.GetActiveAppRoot("") |
| 91 | if err != nil { |
| 92 | return |
| 93 | } |
| 94 | |
| 95 | app := &ddevapp.DdevApp{AppRoot: appRoot} |
| 96 | pList, err := app.GetValidProviders() |
| 97 | if err != nil { |
| 98 | return |
| 99 | } |
| 100 | for _, p := range pList { |
| 101 | subCommandName := p |
| 102 | subCommand := &cobra.Command{ |
| 103 | Use: subCommandName, |
| 104 | Short: fmt.Sprintf("push with %s", subCommandName), |
| 105 | Example: fmt.Sprintf(`ddev push %s |
| 106 | ddev push %s -y |
| 107 | ddev push %s --skip-files -y`, subCommandName, subCommandName, subCommandName), |
| 108 | Args: cobra.ExactArgs(0), |
| 109 | Run: func(cmd *cobra.Command, _ []string) { |
| 110 | app, err := ddevapp.GetActiveApp("") |
| 111 | if err != nil { |
| 112 | util.Failed("push failed: %v", err) |
| 113 | } |
| 114 | if err = app.StartAppIfNotRunning(); err != nil { |
| 115 | util.Failed("Failed to start app %s: %v", app.Name, err) |
| 116 | } |
| 117 | providerName := subCommandName |
| 118 | p, err := app.GetProvider(subCommandName) |
| 119 | if err != nil { |
| 120 | util.Failed("No provider `%s' is provisioned in %s: %v", providerName, app.GetConfigPath("providers"), err) |
| 121 | } |
| 122 | app.ProviderInstance = p |
| 123 | |
| 124 | flags := map[string]bool{"skip-confirmation": false, "skip-db": false, "skip-files": false, "skip-import": false} |
| 125 | for f := range flags { |
| 126 | flags[f], err = cmd.Flags().GetBool(f) |
| 127 | if err != nil { |
| 128 | util.Failed("Failed to get flag %s: %v", f, err) |
| 129 | } |
| 130 | } |
| 131 | environment, _ := cmd.Flags().GetString("environment") |
| 132 | |
| 133 | appPush(providerName, app, flags["skip-confirmation"], flags["skip-import"], flags["skip-db"], flags["skip-files"], environment) |
| 134 | }, |
| 135 | } |
| 136 | // Mark custom command |
| 137 | if !ddevapp.IsBundledCustomProvider(subCommandName) { |
| 138 | if subCommand.Annotations == nil { |
| 139 | subCommand.Annotations = map[string]string{} |
| 140 | } |
| 141 | subCommand.Annotations[CustomCommand] = "true" |
| 142 | } |
| 143 | PushCmd.AddCommand(subCommand) |
| 144 | subCommand.Flags().BoolP("skip-confirmation", "y", false, "Skip confirmation step") |
nothing calls this directly
no test coverage detected