func (cmd *Push) createAppSetFromContextAndManifest(contextApp models.AppParams, manifestApps []models.AppParams) []models.AppParams { var err error var apps []models.AppParams switch len(manifestApps) { case 0: if contextApp.Name == nil { cmd.ui.Failed( T("Manifest file is not found in the current directory, please provide either an app name or manifest") + "\n\n" + command_registry.Commands.CommandUsage("push"), ) } else { err = addApp(&apps, contextApp) } case 1: manifestApps[0].Merge(&contextApp) err = addApp(&apps, manifestApps[0]) default: selectedAppName := contextApp.Name contextApp.Name = nil if !contextApp.IsEmpty() { cmd.ui.Failed("%s", T("Incorrect Usage. Command line flags (except -f) cannot be applied when pushing multiple apps from a manifest file.")) } if selectedAppName != nil { var foundApp bool for _, appParams := range manifestApps { if appParams.Name != nil && *appParams.Name == *selectedAppName { foundApp = true addApp(&apps, appParams) } } if !foundApp { err = errors.New(T("Could not find app named '{{.AppName}}' in manifest", map[string]interface{}{"AppName": *selectedAppName})) } } else { for _, manifestApp := range manifestApps { addApp(&apps, manifestApp) } } } if err != nil { cmd.ui.Failed(T("Error: {{.Err}}", map[string]interface{}{"Err": err.Error()})) } return apps }
func (cmd *Push) createAppSetFromContextAndManifest(contextApp models.AppParams, manifestApps []models.AppParams) (apps []models.AppParams) { var err error switch len(manifestApps) { case 0: if contextApp.Name == nil { err = errors.New(T("Manifest file is not found in the current directory, please provide either an app name or manifest")) } else { err = addApp(&apps, contextApp) } case 1: manifestApps[0].Merge(&contextApp) err = addApp(&apps, manifestApps[0]) default: selectedAppName := contextApp.Name contextApp.Name = nil if !contextApp.IsEmpty() { cmd.ui.Failed("%s", T("Incorrect Usage. Command line flags (except -f) cannot be applied when pushing multiple apps from a manifest file.")) } if selectedAppName != nil { var manifestApp models.AppParams manifestApp, err = findAppWithNameInManifest(*selectedAppName, manifestApps) if err == nil { addApp(&apps, manifestApp) } } else { for _, manifestApp := range manifestApps { addApp(&apps, manifestApp) } } } if err != nil { cmd.ui.Failed(T("Error: {{.Err}}", map[string]interface{}{"Err": err.Error()})) } return }
func (cmd *Push) createAppSetFromContextAndManifest(contextApp models.AppParams, manifestApps []models.AppParams) (apps []models.AppParams) { var err error switch len(manifestApps) { case 0: err = addApp(&apps, contextApp) case 1: manifestApps[0].Merge(&contextApp) err = addApp(&apps, manifestApps[0]) default: selectedAppName := contextApp.Name contextApp.Name = nil if !contextApp.IsEmpty() { cmd.ui.Failed("%s", "Incorrect Usage. Command line flags (except -f) cannot be applied when pushing multiple apps from a manifest file.") } if selectedAppName != nil { var manifestApp models.AppParams manifestApp, err = findAppWithNameInManifest(*selectedAppName, manifestApps) if err == nil { addApp(&apps, manifestApp) } } else { for _, manifestApp := range manifestApps { addApp(&apps, manifestApp) } } } if err != nil { cmd.ui.Failed("Error: %s", err) } return }