blob: 64bf331ac1ae3c63f7c6d39e1cf1f2a1d1e117dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
- 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
- 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'
|