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