The Cloud Foundry Build System Buildpack is a Cloud Native Buildpack V3 that enables the building of JVM applications from source.
This buildpack is designed to work in collaboration with other buildpacks.
The detection phase passes if
-
<APPLICATION_ROOT>/build.gradle
or<APPLICATION_ROOT>/build.gradle.kts
exists- Contributes
gradle
to the build plan - Contributes
jvm-application
to the build plan - Contributes
openjdk-jdk
to the build plan
- Contributes
-
<APPLICATION_ROOT>/pom.xml
exists- Contributes
maven
to the build plan - Contributes
jvm-application
to the build plan - Contributes
openjdk-jdk
to the build plan
- Contributes
If the build plan contains
-
gradle
- Contributes a layer marked
cache
and links it to$HOME/.gradlew
- If
<APPLICATION_ROOT>/gradlew
exists- Contributes a layer marked
build
,cache
, andlaunch
by running<APPLICATION_ROOT>/gradlew -x test build
- If
$BP_BUILD_ARGUMENTS
exists, uses the specified arguments appended to the executable to build the application - Avoids building application if source code has not changed
- Contributes a layer marked
- If
<APPLICATION_ROOT>/gradlew
does not exist- Contributes Gradle distribution to a layer marked
cache
with all commands on$PATH
- Contributes a layer marked
build
,cache
, andlaunch
by running<GRADLE_ROOT>/bin/gradle -x test build
- If
$BP_BUILD_ARGUMENTS
exists, uses the specified arguments appended to the executable to build the application - Avoids building application if source code has not changed
- Contributes Gradle distribution to a layer marked
- Replaces
<APPLICATION_ROOT>
with a link to compiled application layer - If
$BP_BUILT_MODULE
exists, prepends a directory to the default glob pattern when searching for the built artifact - If
$BP_BUILT_ARTIFACT
exists, uses the specified path (including glob patterns) as the built artifact. Supersedes$BP_BUILT_MODULE
.
- Contributes a layer marked
-
maven
- Contributes a layer marked
cache
and links it to$HOME/.m2
- If
<APPLICATION_ROOT>/mvnw
exists- Contributes a layer marked
build
,cache
, andlaunch
by running<APPLICATION_ROOT>/mvnw -Dmaven.test.skip=true package
- If
$BP_BUILD_ARGUMENTS
exists, uses the specified arguments appended to the executable to build the application - Avoids building application if source code has not changed
- Contributes a layer marked
- If
<APPLICATION_ROOT>/mvnw
does not exist- Contributes Maven distribution to a layer marked
cache
with all commands on$PATH
- Contributes a layer marked
build
,cache
, andlaunch
by running<MAVEN_ROOT>/bin/mvn -Dmaven.test.skip=true package
- If
$BP_BUILD_ARGUMENTS
exists, uses the specified arguments appended to the executable to build the application
- Contributes Maven distribution to a layer marked
- Replaces
<APPLICATION_ROOT>
with a link to compiled application layer - If
$BP_BUILT_MODULE
exists, prepends a directory to the default glob pattern when searching for the built artifact - If
$BP_BUILT_ARTIFACT
exists, uses the specified path (including glob patterns) as the built artifact. Supersedes$BP_BUILT_MODULE
.
- Contributes a layer marked
This buildpack is released under version 2.0 of the Apache License.