blob: 4c70f2cccbaa74a29c530393b31fcb942b1f3e10 (
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
|
- job:
name: jdk8-build-image
project-type: matrix
defaults: global
description: |
* Configures and builds jdk8 (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.
logrotate:
numToKeep: 10
artifactNumToKeep: 1
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
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
- client
- axis:
type: user-defined
name: BUILD_TYPE
values:
- release
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/jdk8.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 jdk8
tar xf incoming/jdk8.tar.gz
shopt -s nullglob
for i in ${WORKSPACE}/patches/*.patch; do
echo "Applying patch: $i"
(cd jdk8; patch -p1 < $i)
done
# 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 ../jdk8/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 ../jdk8/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 ../jdk8/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=jdk8-${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'
|