From 57fc49a42be807710b7e89939fe346533364bca4 Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Tue, 16 Jul 2019 16:35:32 +0100 Subject: [PATCH 1/8] Update test deps for Java 11 Prevent bytecode generation related test failures in tests that rely on PowerMock by updating to PowerMock 2. --- game/build.gradle | 2 +- game/plugin-detekt-rules/build.gradle | 1 + gradle/properties.gradle | 2 +- gradle/testing.gradle | 2 +- gradle/wrapper.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 3 ++- net/build.gradle | 1 + util/build.gradle | 1 + 8 files changed, 9 insertions(+), 5 deletions(-) diff --git a/game/build.gradle b/game/build.gradle index ac4d3f1c..1a451eb9 100644 --- a/game/build.gradle +++ b/game/build.gradle @@ -28,7 +28,7 @@ dependencies { testImplementation group: 'junit', name: 'junit', version: junitVersion testImplementation group: 'org.powermock', name: 'powermock-module-junit4', version: powermockVersion - testImplementation group: 'org.powermock', name: 'powermock-api-mockito', version: powermockVersion + testImplementation group: 'org.powermock', name: 'powermock-api-mockito2', version: powermockVersion testImplementation group: 'org.assertj', name: 'assertj-core', version: assertjVersion project(":game:plugin").subprojects { pluginProject -> diff --git a/game/plugin-detekt-rules/build.gradle b/game/plugin-detekt-rules/build.gradle index a57e036c..2a459bb6 100644 --- a/game/plugin-detekt-rules/build.gradle +++ b/game/plugin-detekt-rules/build.gradle @@ -4,6 +4,7 @@ apply from: "$rootDir/gradle/kotlin.gradle" dependencies { api group: 'io.gitlab.arturbosch.detekt', name: 'detekt-api', version: detektVersion + api group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8' test.useJUnitPlatform() testImplementation("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}") diff --git a/gradle/properties.gradle b/gradle/properties.gradle index 76f3789d..63d32988 100644 --- a/gradle/properties.gradle +++ b/gradle/properties.gradle @@ -2,7 +2,7 @@ ext { kotlinVersion = '1.3.40' kotlinxCoroutinesVersion = '1.3.0-M2' junitVersion = '4.12' - powermockVersion = '1.6.4' + powermockVersion = '2.0.2' bouncycastleVersion = '1.54' c3p0Version = '0.9.5.2' scryptVersion = '1.4.0' diff --git a/gradle/testing.gradle b/gradle/testing.gradle index 838454d4..5b3a7cd1 100644 --- a/gradle/testing.gradle +++ b/gradle/testing.gradle @@ -10,7 +10,7 @@ gradle.projectsEvaluated { apply plugin: "jacoco" jacoco { - toolVersion = '0.8.1' + toolVersion = '0.8.4' } test { diff --git a/gradle/wrapper.gradle b/gradle/wrapper.gradle index 35e4d7dd..19b869f7 100644 --- a/gradle/wrapper.gradle +++ b/gradle/wrapper.gradle @@ -1,3 +1,3 @@ wrapper { - gradleVersion = "4.9" + gradleVersion = "5.5" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a95009c3..ce16fd39 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Tue Jul 16 03:37:52 BST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip diff --git a/net/build.gradle b/net/build.gradle index 939c6ff4..0b1045c3 100644 --- a/net/build.gradle +++ b/net/build.gradle @@ -11,6 +11,7 @@ dependencies { implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: bouncycastleVersion test.useJUnitPlatform() + testImplementation group: 'junit', name: 'junit', version: junitVersion testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: junitJupiterVersion testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junitJupiterVersion testImplementation group: 'org.junit.vintage', name: 'junit-vintage-engine', version: junitVintageVersion diff --git a/util/build.gradle b/util/build.gradle index 99694627..aa4fb376 100644 --- a/util/build.gradle +++ b/util/build.gradle @@ -10,6 +10,7 @@ dependencies { implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: bouncycastleVersion test.useJUnitPlatform() + testImplementation group: 'junit', name: 'junit', version: junitVersion testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: junitJupiterVersion testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junitJupiterVersion testImplementation group: 'org.junit.vintage', name: 'junit-vintage-engine', version: junitVintageVersion From 04a69eac1226bf1c40fdd03f731223b5ca9ca47d Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Tue, 16 Jul 2019 16:55:09 +0100 Subject: [PATCH 2/8] Add Azure DevOps pipeline configuration --- azure-pipelines.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 00000000..c524f1d5 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,16 @@ +pool: + vmImage: 'ubuntu-latest' + +steps: + - task: Gradle@2 + displayName: "Gradle: build" + inputs: + workingDirectory: '' + gradleWrapperFile: 'gradlew' + gradleOptions: '-Xmx3072m' + javaHomeOption: 'JDKVersion' + jdkVersionOption: '1.8' + jdkArchitectureOption: 'x64' + publishJUnitResults: false + testResultsFiles: '**/TEST-*.xml' + tasks: 'build' From 91e38aa84ed7f37c08c76b368f31bf38ffe57fbb Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Tue, 16 Jul 2019 17:02:45 +0100 Subject: [PATCH 3/8] Run builds in parallel on Azure CI --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index c524f1d5..8dd7c9aa 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -7,7 +7,7 @@ steps: inputs: workingDirectory: '' gradleWrapperFile: 'gradlew' - gradleOptions: '-Xmx3072m' + gradleOptions: '-Xmx3072m -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true' javaHomeOption: 'JDKVersion' jdkVersionOption: '1.8' jdkArchitectureOption: 'x64' From ab787dde14cf83b030ef8f45dae6cee3b22908f5 Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Tue, 16 Jul 2019 17:08:34 +0100 Subject: [PATCH 4/8] Enable Gradle build caching in CI --- azure-pipelines.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8dd7c9aa..84e0be78 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,16 +1,28 @@ pool: vmImage: 'ubuntu-latest' +variables: + GRADLE_USER_HOME: $(Pipeline.Workspace)/.gradle + steps: + - task: CacheBeta@0 + inputs: + key: $(Agent.OS) + path: $(GRADLE_USER_HOME) + displayName: "Gradle: setup build cache" + - task: Gradle@2 displayName: "Gradle: build" inputs: workingDirectory: '' gradleWrapperFile: 'gradlew' - gradleOptions: '-Xmx3072m -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true' + gradleOptions: '-Xmx3072m -Dorg.gradle.parallel=true -Dorg.gradle.caching=true' javaHomeOption: 'JDKVersion' jdkVersionOption: '1.8' jdkArchitectureOption: 'x64' publishJUnitResults: false testResultsFiles: '**/TEST-*.xml' tasks: 'build' + + - script: | + ./gradlew --stop From 28a4752f4773589608cbee1908e0c053773b22e5 Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Tue, 16 Jul 2019 17:20:07 +0100 Subject: [PATCH 5/8] Publish test results to CI --- azure-pipelines.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 84e0be78..f2efa703 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -20,9 +20,10 @@ steps: javaHomeOption: 'JDKVersion' jdkVersionOption: '1.8' jdkArchitectureOption: 'x64' - publishJUnitResults: false + publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - script: | ./gradlew --stop + displayName: "Gradle: stop daemon" \ No newline at end of file From 37e20c9a2552268ae622fae4da2881b66fcece02 Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Tue, 16 Jul 2019 17:37:58 +0100 Subject: [PATCH 6/8] Publish code coverage from Azure CI --- .travis.yml | 2 -- azure-pipelines.yml | 10 ++++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index a7760a6b..8087cdf3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,8 +7,6 @@ addons: organization: "apollo-rsps" after_success: - - ./gradlew jacocoTestReport - - bash <(curl -s https://codecov.io/bash) - git fetch --unshallow - ./gradlew -Dsonar.host.url=https://sonarcloud.io -Dsonar.login="$SONAR_TOKEN" sonarqube before_cache: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f2efa703..af4cf36b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -22,8 +22,14 @@ steps: jdkArchitectureOption: 'x64' publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' - tasks: 'build' + tasks: 'check jacocoTestReport' - script: | ./gradlew --stop - displayName: "Gradle: stop daemon" \ No newline at end of file + displayName: "Gradle: stop daemon" + + - script: | + bash <(curl -s https://codecov.io/bash) -t "${CODECOV_TOKEN}" + env: + CODECOV_TOKEN: $(CODECOV_TOKEN) + displayName: "Codecov: publish coverage" \ No newline at end of file From 36571a344f89e70ce700d370cc8b0ec754409631 Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Tue, 16 Jul 2019 17:55:20 +0100 Subject: [PATCH 7/8] Remove AppVeyor and Travis-CI configuration --- .travis.yml | 18 ------------------ appveyor.yml | 24 ------------------------ 2 files changed, 42 deletions(-) delete mode 100644 .travis.yml delete mode 100644 appveyor.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8087cdf3..00000000 --- a/.travis.yml +++ /dev/null @@ -1,18 +0,0 @@ -language: java -jdk: - - oraclejdk8 - -addons: - sonarcloud: - organization: "apollo-rsps" - -after_success: - - git fetch --unshallow - - ./gradlew -Dsonar.host.url=https://sonarcloud.io -Dsonar.login="$SONAR_TOKEN" sonarqube -before_cache: - - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ -cache: - directories: - - $HOME/.gradle/caches/ - - $HOME/.gradle/wrapper/ \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index b00ccfac..00000000 --- a/appveyor.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: "{branch} {build}" - -build: - verbosity: detailed - -build_script: -- gradlew.bat assemble --info --no-daemon - -test_script: -- gradlew.bat check --info --no-daemon - -cache: -- C:\Users\appveyor\.gradle - -environment: - matrix: - - JAVA_HOME: C:\Program Files\Java\jdk1.8.0 - -matrix: - fast_finish: true - -artifacts: -- path: 'game\build\distributions\game-0.0.1.zip' - name: Apollo Server Distribution From cd013fc1eeb3df8ead18f699fc558797c7685723 Mon Sep 17 00:00:00 2001 From: Gary Tierney Date: Tue, 16 Jul 2019 18:27:40 +0100 Subject: [PATCH 8/8] Publish SonarQube analysis from Azure CI --- azure-pipelines.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index af4cf36b..2167045f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -11,23 +11,35 @@ steps: path: $(GRADLE_USER_HOME) displayName: "Gradle: setup build cache" + - task: SonarCloudPrepare@1 + inputs: + SonarCloud: 'apollo-rsps-sonarcloud' + organization: 'apollo-rsps' + scannerMode: 'Other' + displayName: "SonarCloud: prepare analysis" + - task: Gradle@2 displayName: "Gradle: build" inputs: workingDirectory: '' gradleWrapperFile: 'gradlew' - gradleOptions: '-Xmx3072m -Dorg.gradle.parallel=true -Dorg.gradle.caching=true' + gradleOptions: '-Xmx3072m -Dorg.gradle.parallel=true -Dorg.gradle.caching=true -Dsonar.host.url=https://sonarcloud.io' javaHomeOption: 'JDKVersion' jdkVersionOption: '1.8' jdkArchitectureOption: 'x64' publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' - tasks: 'check jacocoTestReport' + tasks: 'check jacocoTestReport sonarqube' - script: | ./gradlew --stop displayName: "Gradle: stop daemon" + - task: SonarCloudPublish@1 + inputs: + pollingTimeoutSec: '300' + displayName: "SonarCloud: publish quality gate" + - script: | bash <(curl -s https://codecov.io/bash) -t "${CODECOV_TOKEN}" env: