- job: name: jdk8-build-image project-type: matrix defaults: global description: | * Configures and builds jdk8u (ie, bin/java, bin/javac, et al) for various configurations.
* The source tarball is copied from the jdk8-update-src-tree job!
* Note: we are no longer building -fastdebug variants as there is not enough time to test the images. properties: - authorization: anonymous: - job-read - job-extended-read openjdk-members: - job-build - job-cancel - build-discarder: days-to-keep: 30 num-to-keep: 10 artifact-num-to-keep: 5 disabled: false node: aarch64-06 display-name: 'OpenJDK 8 - Configure and build OpenJDK 8' scm: - git: url: https://git.linaro.org/leg/openjdk/openjdk8-jenkins-only-build-patches.git refspec: +refs/heads/master:refs/remotes/origin/master name: origin branches: - refs/heads/master basedir: patches skip-tag: true shallow-clone: true wipe-workspace: false axes: - axis: type: user-defined name: JVM_VARIANT values: - server - zero - axis: type: user-defined name: BUILD_TYPE values: - release - axis: type: slave name: label values: - aarch64-06 execution-strategy: sequential: true wrappers: - workspace-cleanup: dirmatch: false - timestamps - matrix-tie-parent: node: aarch64-06 builders: - copyartifact: project: jdk8-update-src-tree filter: 'out/jdk8u.tar.gz' target: incoming flatten: true - copyartifact: project: archive-primordial-jdk7 filter: 'out/primordial-jdk7.tar.gz' target: incoming flatten: true - shell: | #!/bin/bash set -exu #export CCACHE_DIR=~/.ccache-${JVM_VARIANT}-${BUILD_TYPE} #ccache -M 1G #ccache -s ccache_build_opts=--disable-ccache # Extract sources from upstream job rm -rf jdk8u tar xf incoming/jdk8u.tar.gz shopt -s nullglob # SRDM Commented out as not needed for buildng client builds, but # maybe necessary in future. # # Apply patches # Only apply to client builds. # if [ "$JVM_VARIANT" = "client" ]; then # OLDDIR=$PWD # cd $WORKSPACE/patches # for patch in $(find -name '*.patch'); do # patch_dir=$(dirname $patch) # patch_path=$(pwd)/$patch # (echo Applying $patch to $patch_dir ; cd $OLDDIR/jdk8u/$patch_dir; \ # patch -p1 < $patch_path) # done # cd $OLDDIR # fi # Extract boot jdk rm -rf primordial-jdk7 tar xf incoming/primordial-jdk7.tar.gz # Configure and build. rm -rf build* mkdir -p build-stage1 build-stage2 two_stage_build=0 which java java -version if [ $two_stage_build = 1 ]; then pushd build-stage1 sh ../jdk8u/configure --with-jvm-variants=${JVM_VARIANT} --with-debug-level=${BUILD_TYPE} --with-boot-jdk=${WORKSPACE}/primordial-jdk7 ${ccache_build_opts} make images popd pushd build-stage2 sh ../jdk8u/configure --with-jvm-variants=${JVM_VARIANT} --with-debug-level=${BUILD_TYPE} --with-boot-jdk=${WORKSPACE}/build-stage1/images/j2sdk-image ${ccache_build_opts} make images popd else pushd build-stage2 sh ../jdk8u/configure --with-jvm-variants=${JVM_VARIANT} --with-debug-level=${BUILD_TYPE} ${ccache_build_opts} make images popd fi # Archive the result rm -rf out mkdir out artifact_name=jdk8u-${JVM_VARIANT}-${BUILD_TYPE} tar -C build-stage2/images/j2sdk-image --exclude=\*.diz --transform="s!^!$artifact_name/!" -acf out/${artifact_name}.tar.gz jre bin lib publishers: - archive: artifacts: 'out/*.tar.gz' - email: recipients: 'stuart.monteith@linaro.org fathi.boudra@linaro.org'