github.com/arunkumar7540/cli@v6.45.0+incompatible/actor/v7pushaction/setup_application_for_push_plan.go (about) 1 package v7pushaction 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/v7action" 5 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv3/constant" 6 "code.cloudfoundry.org/cli/util/manifestparser" 7 ) 8 9 func SetupApplicationForPushPlan(pushPlan PushPlan, overrides FlagOverrides, manifestApp manifestparser.Application) (PushPlan, error) { 10 application := v7action.Application{Name: manifestApp.Name} 11 12 var applicationNeedsUpdate bool 13 14 if buildpacksPresent(overrides) { 15 application.LifecycleType = constant.AppLifecycleTypeBuildpack 16 application.LifecycleBuildpacks = overrides.Buildpacks 17 applicationNeedsUpdate = true 18 } 19 20 if stacksPresent(overrides) { 21 application.StackName = overrides.Stack 22 application.LifecycleType = constant.AppLifecycleTypeBuildpack 23 applicationNeedsUpdate = true 24 } 25 26 if overrides.DockerImage != "" || manifestApp.Docker != nil { 27 application.LifecycleType = constant.AppLifecycleTypeDocker 28 } 29 30 pushPlan.Application = application 31 pushPlan.ApplicationNeedsUpdate = applicationNeedsUpdate 32 33 return pushPlan, nil 34 } 35 36 func buildpacksPresent(overrides FlagOverrides) bool { 37 return len(overrides.Buildpacks) > 0 38 } 39 40 func stacksPresent(overrides FlagOverrides) bool { 41 return overrides.Stack != "" 42 }