classes/plugins/MvnPlugin.tmpl
{{ header }}
if [ "$START_{{softwareComponentName|upper}}" = "YES" ]; then
{{ preparecomp }}
{{ getsource }}
{# prestart must come before the build code, as it might set JAVA_HOME in BasePlugin #}
{{ prestart }}
if [ "${{typeSourceVarName}}" == "local" ]; then
f_build() {
verbosePrint "pwd=$(pwd)\nmvn {{GoalIgnoreClean}} $MVN_OPTS {{Goal}}"
{{BeforeBuild}}
{{AllEnvVarsShell}}
mvn {{GoalIgnoreClean}} $MVN_OPTS {{Goal}}
{{AfterBuild}}
}
fi
if [ "${{typeSourceVarName}}" == "docker" ]; then
{% if dependencyManager.hasAnyBuildDep() %}
dockerImage=maven_build
mkdir -p localrun/dockerbuild
cat <<- EOFDOCK > localrun/dockerbuild/Dockerfile
FROM {{DockerImage}}:${{typeSourceVarName}}_VERSION
RUN apt-get update && \\ {{dependencyManager.getAptBuild()}} && \\
apt-get clean && \\
rm -rf /tmp/* /var/tmp/* /var/lib/apt/archive/* /var/lib/apt/lists/*
{{dependencyManager.getNpmBuild('RUN')}}
ENTRYPOINT ["/usr/local/bin/mvn-entrypoint.sh"]
CMD ["mvn"]
EOFDOCK
verbosePrint "docker build --tag maven_build:${{typeSourceVarName}}_VERSION localrun/dockerbuild/"
docker build --tag maven_build:${{typeSourceVarName}}_VERSION localrun/dockerbuild/
{% else %}
dockerImage={{DockerImage}}
{% endif %}
f_build() {
verbosePrint "pwd=$(pwd)\ndocker run --name={{softwareComponentName}} --rm -v $(pwd):/usr/src/build -v {{m2Mapping}}:/root/.m2 -w /usr/src/build $dockerImage:${{typeSourceVarName}}_VERSION mvn {{GoalIgnoreClean}} $MVN_OPTS {{Goal}}"
{{BeforeBuild}}
docker run --name={{softwareComponentName}} --rm {{AllEnvVarsDocker}} -v "$(pwd)":/usr/src/build -v {{m2Mapping}}:/root/.m2 -w /usr/src/build $dockerImage:${{typeSourceVarName}}_VERSION mvn {{GoalIgnoreClean}} $MVN_OPTS {{Goal}}
{{AfterBuild}}
}
fi
if [ "$SKIP_BUILD" != "YES" ]; then
if [ -n "$CLEAN" ]; then
MVN_CLEAN=clean
fi
f_build
else
verbosePrint "Mvn build skipped."
fi
{{ poststart }}
{{ leavecomp }}
fi