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.gradleor<APPLICATION_ROOT>/build.gradle.ktsexists- Contributes
gradleto the build plan - Contributes
jvm-applicationto the build plan - Contributes
openjdk-jdkto the build plan
- Contributes
-
<APPLICATION_ROOT>/pom.xmlexists- Contributes
mavento the build plan - Contributes
jvm-applicationto the build plan - Contributes
openjdk-jdkto the build plan
- Contributes
If the build plan contains
-
gradle- Contributes a layer marked
cacheand links it to$HOME/.gradlew - If
<APPLICATION_ROOT>/gradlewexists- Contributes a layer marked
build,cache, andlaunchby running<APPLICATION_ROOT>/gradlew -x test build - If
$BP_BUILD_ARGUMENTSexists, 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>/gradlewdoes not exist- Contributes Gradle distribution to a layer marked
cachewith all commands on$PATH - Contributes a layer marked
build,cache, andlaunchby running<GRADLE_ROOT>/bin/gradle -x test build - If
$BP_BUILD_ARGUMENTSexists, 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_MODULEexists, prepends a directory to the default glob pattern when searching for the built artifact - If
$BP_BUILT_ARTIFACTexists, uses the specified path (including glob patterns) as the built artifact. Supersedes$BP_BUILT_MODULE.
- Contributes a layer marked
-
maven- Contributes a layer marked
cacheand links it to$HOME/.m2 - If
<APPLICATION_ROOT>/mvnwexists- Contributes a layer marked
build,cache, andlaunchby running<APPLICATION_ROOT>/mvnw -Dmaven.test.skip=true package - If
$BP_BUILD_ARGUMENTSexists, 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>/mvnwdoes not exist- Contributes Maven distribution to a layer marked
cachewith all commands on$PATH - Contributes a layer marked
build,cache, andlaunchby running<MAVEN_ROOT>/bin/mvn -Dmaven.test.skip=true package - If
$BP_BUILD_ARGUMENTSexists, 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_MODULEexists, prepends a directory to the default glob pattern when searching for the built artifact - If
$BP_BUILT_ARTIFACTexists, 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.