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