# README
build-system-cnb
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.
Detection
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
Build
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
License
This buildpack is released under version 2.0 of the Apache License.
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author