github.com/LukasHeimann/cloudfoundrycli@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  }