• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1jobs:
2- job:
3  strategy:
4    matrix:
5      JDK 5:
6        JDK_VERSION: 5
7      JDK 6:
8        JDK_VERSION: 6
9      JDK 7:
10        JDK_VERSION: 7
11      JDK 8:
12        JDK_VERSION: 8
13      JDK 8 with ECJ:
14        JDK_VERSION: 8
15        ECJ: true
16      JDK 9:
17        JDK_VERSION: 9
18      JDK 10:
19        JDK_VERSION: 10
20      JDK 11:
21        JDK_VERSION: 11
22      JDK 12:
23        JDK_VERSION: 12
24      JDK 13:
25        JDK_VERSION: 13
26      JDK 14:
27        JDK_VERSION: 14
28      JDK 15:
29        JDK_VERSION: 15
30      JDK 16:
31        JDK_VERSION: 16
32      JDK 17:
33        JDK_VERSION: 17
34  pool:
35    vmImage: 'ubuntu-18.04'
36  steps:
37  - bash: |
38      set -e
39      url_var=JDK${JDK_VERSION}_URL
40      JDK_URL=${!url_var}
41      mkdir .jdk
42      curl -L $JDK_URL -o .jdk/jdk.tar.gz
43      tar -xzf .jdk/jdk.tar.gz -C .jdk --strip-components 1
44      .jdk/bin/java -version
45      echo "
46      <toolchains>
47        <toolchain>
48          <type>jdk</type>
49          <provides>
50            <id>$JDK_VERSION</id>
51            <version>$JDK_VERSION</version>
52          </provides>
53          <configuration>
54            <jdkHome>$PWD/.jdk</jdkHome>
55          </configuration>
56        </toolchain>
57      </toolchains>
58      " > toolchains.xml
59    displayName: Setup JDK
60  - bash: |
61      if [[ "$JDK_VERSION" -ge "8" ]]; then
62        export JAVA_HOME=$PWD/.jdk
63      fi
64      if [[ "$BUILD_SOURCEBRANCH" == "refs/heads/master" && "$JDK_VERSION" == "5" ]]; then
65        mvn -V -B -e -f org.jacoco.build \
66          verify -Djdk.version=$JDK_VERSION \
67          deploy:deploy -DdeployAtEnd \
68          --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml
69      elif [[ "$JDK_VERSION" == "5" ]]; then
70        mvn -V -B -e \
71          verify -Djdk.version=$JDK_VERSION \
72          --toolchains=toolchains.xml
73      elif [[ "$BUILD_SOURCEBRANCH" == "refs/heads/master" && "$JDK_VERSION" == "11" ]]; then
74        mvn -V -B -e -f org.jacoco.build \
75          verify -Djdk.version=$JDK_VERSION -Dbytecode.version=$JDK_VERSION \
76          sonar:sonar \
77          --toolchains=toolchains.xml --settings=.azure-pipelines/maven-settings.xml
78      else
79        mvn -V -B -e \
80          verify -Djdk.version=$JDK_VERSION -Dbytecode.version=$JDK_VERSION -Decj=${ECJ:-} \
81          --toolchains=toolchains.xml
82      fi
83    displayName: Build
84    env:
85      SONARQUBE_TOKEN: $(SONARQUBE_TOKEN)
86      SONATYPE_USERNAME: $(SONATYPE_USERNAME)
87      SONATYPE_PASSWORD: $(SONATYPE_PASSWORD)
88