- 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.<br> | |
* The source tarball is copied from the jdk8-update-src-tree job!<br> | |
* <b>Note:</b> 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 | |
- job-workspace | |
- build-discarder: | |
days-to-keep: 30 | |
num-to-keep: 10 | |
artifact-num-to-keep: 5 | |
disabled: true | |
node: j12-qrep-01 | |
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: BUILD_TYPE | |
values: | |
- release | |
- axis: | |
type: slave | |
name: label | |
values: | |
- j12-qrep-01 | |
execution-strategy: | |
sequential: true | |
wrappers: | |
- workspace-cleanup: | |
dirmatch: false | |
- timestamps | |
- matrix-tie-parent: | |
node: j12-qrep-01 | |
builders: | |
- copyartifact: | |
project: jdk8-update-src-tree | |
filter: 'out/jdk8u.tar.gz' | |
target: incoming | |
flatten: true | |
- shell: | | |
#!/bin/bash | |
set -exu | |
ccache_build_opts=--disable-ccache | |
rm -rf jdk* primordial-jdk* build* out | |
cd $HOME/srv/jdk-cache/jdk8u | |
export JAVA_HOME=${PWD} | |
export PATH=${JAVA_HOME}/bin:${PATH} | |
cd ${WORKSPACE} | |
# Extract sources from upstream job | |
rm -rf jdk8u | |
tar xf incoming/jdk8u.tar.gz | |
shopt -s nullglob | |
# Configure and build. | |
mkdir -p build-stage1 build-stage2 out | |
two_stage_build=0 | |
which java | |
java -version | |
EXTRA_CFLAGS="-Wno-error -fno-delete-null-pointer-checks \ | |
-fno-lifetime-dse -Wno-deprecated-declarations \ | |
-Wno-maybe-uninitialized -Wno-misleading-indentation \ | |
-Wno-shift-negative-value" | |
EXTRA_CPP_FLAGS="-Wno-error -std=gnu++98 \ | |
-fno-delete-null-pointer-checks -fno-lifetime-dse \ | |
-Wno-deprecated-declarations -Wno-maybe-uninitialized \ | |
-Wno-misleading-indentation -Wno-shift-negative-value" | |
if [ $two_stage_build = 1 ]; then | |
pushd build-stage1 | |
sh ../jdk8u/configure --with-debug-level=${BUILD_TYPE} --with-boot-jdk=${WORKSPACE}/primordial-jdk7 \ | |
${ccache_build_opts} --with-extra-cxxflags="$EXTRA_CPP_FLAGS" --with-extra-cflags="$EXTRA_CFLAGS" | |
make images | |
popd | |
pushd build-stage2 | |
sh ../jdk8u/configure --with-debug-level=${BUILD_TYPE} --with-boot-jdk=${WORKSPACE}/build-stage1/images/j2sdk-image \ | |
${ccache_build_opts} --with-extra-cxxflags="$EXTRA_CPP_FLAGS" --with-extra-cflags="$EXTRA_CFLAGS" | |
make images | |
popd | |
else | |
pushd build-stage2 | |
sh ../jdk8u/configure --with-debug-level=${BUILD_TYPE} \ | |
${ccache_build_opts} --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \ | |
--with-extra-cflags="$EXTRA_CFLAGS" | |
make images | |
popd | |
fi | |
# Archive the result | |
rm -rf out | |
mkdir out | |
artifact_name=jdk8u-${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' |