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