- 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
- 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'