github.com/sleungcy/cli@v7.1.0+incompatible/actor/v7pushaction/handle_buildpacks_override.go (about) 1 package v7pushaction 2 3 import ( 4 "code.cloudfoundry.org/cli/command/translatableerror" 5 "code.cloudfoundry.org/cli/util/manifestparser" 6 ) 7 8 func HandleBuildpacksOverride(manifest manifestparser.Manifest, overrides FlagOverrides) (manifestparser.Manifest, error) { 9 if len(overrides.Buildpacks) > 0 { 10 if manifest.ContainsMultipleApps() { 11 return manifest, translatableerror.CommandLineArgsWithMultipleAppsError{} 12 } 13 14 if manifest.Applications[0].Docker != nil { 15 return manifest, translatableerror.ArgumentManifestMismatchError{ 16 Arg: "--buildpack, -b", 17 ManifestProperty: "docker", 18 } 19 } 20 app := manifest.GetFirstApp() 21 22 if overrides.Buildpacks[0] == "null" || overrides.Buildpacks[0] == "default" { 23 app.SetBuildpacks([]string{}) 24 } else { 25 app.SetBuildpacks(overrides.Buildpacks) 26 } 27 } 28 29 return manifest, nil 30 }