diff --git a/.ci/dev/compatibility/JenkinsfileJDK11Azul b/.ci/dev/compatibility/JenkinsfileJDK11Azul index c2216d8a51..11e727b124 100644 --- a/.ci/dev/compatibility/JenkinsfileJDK11Azul +++ b/.ci/dev/compatibility/JenkinsfileJDK11Azul @@ -102,6 +102,7 @@ pipeline { stage('Compile') { steps { dir(sameAgentFolder) { + authenticateGradleWrapper() sh script: [ './gradlew', COMMON_GRADLE_PARAMS, diff --git a/.ci/dev/compatibility/JenkinsfileJDK11Compile b/.ci/dev/compatibility/JenkinsfileJDK11Compile index 0a7ae93060..4fea64e15a 100644 --- a/.ci/dev/compatibility/JenkinsfileJDK11Compile +++ b/.ci/dev/compatibility/JenkinsfileJDK11Compile @@ -25,6 +25,7 @@ pipeline { stages { stage('JDK 11 Compile') { steps { + authenticateGradleWrapper() sh "./gradlew --no-daemon -Pcompilation.allWarningsAsErrors=true -Ptests.failFast=false " + "-Ptests.ignoreFailures=true clean compileAll --stacktrace" } diff --git a/.ci/dev/mswin/Jenkinsfile b/.ci/dev/mswin/Jenkinsfile index 714fadf4fb..e1f70bb4dd 100644 --- a/.ci/dev/mswin/Jenkinsfile +++ b/.ci/dev/mswin/Jenkinsfile @@ -56,6 +56,7 @@ pipeline { stage('Unit Tests') { agent { label 'mswin' } steps { + authenticateGradleWrapper() bat "./gradlew --no-daemon " + "--stacktrace " + "-Pcompilation.warningsAsErrors=false " + diff --git a/.ci/dev/nightly-regression/Jenkinsfile b/.ci/dev/nightly-regression/Jenkinsfile index 98895fdcb8..7b4ad695ce 100644 --- a/.ci/dev/nightly-regression/Jenkinsfile +++ b/.ci/dev/nightly-regression/Jenkinsfile @@ -49,6 +49,7 @@ pipeline { stages { stage('Compile') { steps { + authenticateGradleWrapper() sh script: [ './gradlew', COMMON_GRADLE_PARAMS, @@ -90,6 +91,7 @@ pipeline { } stage('Recompile') { steps { + authenticateGradleWrapper() sh script: [ './gradlew', COMMON_GRADLE_PARAMS, diff --git a/.ci/dev/open-j9/Jenkinsfile b/.ci/dev/open-j9/Jenkinsfile index 65deab2390..808dac8f08 100644 --- a/.ci/dev/open-j9/Jenkinsfile +++ b/.ci/dev/open-j9/Jenkinsfile @@ -3,6 +3,7 @@ * Jenkins pipeline to build Corda OS release branches and tags. * PLEASE NOTE: we DO want to run a build for each commit!!! */ +@Library('corda-shared-build-pipeline-steps') /** * Sense environment @@ -47,6 +48,7 @@ pipeline { stages { stage('Unit Tests') { steps { + authenticateGradleWrapper() sh "./gradlew clean --continue test --info -Ptests.failFast=true" } } diff --git a/.ci/dev/pr-code-checks/Jenkinsfile b/.ci/dev/pr-code-checks/Jenkinsfile index 5cb1058811..f46ab23810 100644 --- a/.ci/dev/pr-code-checks/Jenkinsfile +++ b/.ci/dev/pr-code-checks/Jenkinsfile @@ -14,6 +14,7 @@ pipeline { stages { stage('Detekt check') { steps { + authenticateGradleWrapper() sh "./gradlew --no-daemon clean detekt" } } diff --git a/.ci/dev/publish-api-docs/Jenkinsfile b/.ci/dev/publish-api-docs/Jenkinsfile index b45aa95e95..2bdda095be 100644 --- a/.ci/dev/publish-api-docs/Jenkinsfile +++ b/.ci/dev/publish-api-docs/Jenkinsfile @@ -33,6 +33,7 @@ pipeline { stage('Publish Archived API Docs to Artifactory') { when { tag pattern: /^docs-release-os-V(\d+\.\d+)(\.\d+){0,1}(-GA){0,1}(-\d{4}-\d\d-\d\d-\d{4}){0,1}$/, comparator: 'REGEXP' } steps { + authenticateGradleWrapper() sh "./gradlew :clean :docs:artifactoryPublish -DpublishApiDocs" } } diff --git a/.ci/dev/publish-branch/Jenkinsfile.nightly b/.ci/dev/publish-branch/Jenkinsfile.nightly index 0f38bf9cca..b915590679 100644 --- a/.ci/dev/publish-branch/Jenkinsfile.nightly +++ b/.ci/dev/publish-branch/Jenkinsfile.nightly @@ -33,18 +33,6 @@ def nexusIqStageChoices = [nexusDefaultIqStage].plus( 'operate' ].minus([nexusDefaultIqStage])) -/** - * define an empty teamsWebHookURL and if it is a Release Branch - * then set it for the Corda 4 Jenkins Connector - */ -boolean isReleaseBranch = (env.BRANCH_NAME =~ /^release\/os\/.*/) -def teamsWebHookURL = "" -if (isReleaseBranch){ - withCredentials([string(credentialsId: 'ms-teams-webhook', variable: 'webhook_url')]) { - teamsWebHookURL = "$webhook_url" - } -} - pipeline { agent { label 'standard' } @@ -54,18 +42,6 @@ pipeline { overrideIndexTriggers(false) timeout(time: 3, unit: 'HOURS') buildDiscarder(logRotator(daysToKeepStr: '14', artifactDaysToKeepStr: '14')) - office365ConnectorWebhooks([[ - name : "Corda 4 Jenkins Connector", - notifyBackToNormal : true, - startNotification : false, - notifyFailure : true, - notifySuccess : true, - notifyNotBuilt : false, - notifyAborted : false, - notifyRepeatedFailure: true, - notifyUnstable : true, - url : "${teamsWebHookURL}" - ]]) } parameters { @@ -87,6 +63,7 @@ pipeline { stages { stage('Sonatype Check') { steps { + authenticateGradleWrapper() sh "./gradlew --no-daemon clean jar" script { sh "./gradlew --no-daemon properties | grep -E '^(version|group):' >version-properties" diff --git a/.ci/dev/publish-branch/Jenkinsfile.preview b/.ci/dev/publish-branch/Jenkinsfile.preview index c1cc300089..b795edec93 100644 --- a/.ci/dev/publish-branch/Jenkinsfile.preview +++ b/.ci/dev/publish-branch/Jenkinsfile.preview @@ -29,6 +29,7 @@ pipeline { stages { stage('Publish to Artifactory') { steps { + authenticateGradleWrapper() rtServer ( id: 'R3-Artifactory', url: 'https://software.r3.com/artifactory', diff --git a/.ci/dev/regression/Jenkinsfile b/.ci/dev/regression/Jenkinsfile index 0ee16ed651..d2447c8597 100644 --- a/.ci/dev/regression/Jenkinsfile +++ b/.ci/dev/regression/Jenkinsfile @@ -88,6 +88,7 @@ pipeline { stages { stage('Compile') { steps { + authenticateGradleWrapper() sh script: [ './gradlew', COMMON_GRADLE_PARAMS, @@ -123,6 +124,73 @@ pipeline { ) } } + stage('Generate Wiki Report') { + when { + expression { isReleaseTag && !isInternalRelease && !isReleaseCandidate && !isReleasePatch } + beforeAgent true + } + agent { + docker { + image 'nexusiq-sonatype-cli:latest' + reuseNode true + registryUrl 'https://engineering-docker.software.r3.com/' + registryCredentialsId 'artifactory-credentials' + } + } + options { + retry(3) + } + environment { + NEXUS_APP_ID="${nexusAppId}" + NEXUS_APP_STAGE="${params.nexusIqStage}" + NEXUSIQ_CREDENTIALS = credentials('jenkins-nexusiq-credentials') + } + steps { + sh '''\ + rm -f wiki-report.md + env NEXUSIQ_USERNAME="${NEXUSIQ_CREDENTIALS_USR}" \ + NEXUSIQ_PASSWORD="${NEXUSIQ_CREDENTIALS_PSW}" \ + /opt/app/wrapper wiki-report \ + --app "${NEXUS_APP_ID}" \ + --stage "${NEXUS_APP_STAGE}" >wiki-report.md + '''.stripIndent() + archiveArtifacts 'wiki-report.md' + } + } + stage('Generate Licence Report') { + when { + expression { isReleaseTag && !isInternalRelease && !isReleaseCandidate && !isReleasePatch } + beforeAgent true + } + agent { + docker { + image 'nexusiq-licence-report:latest' + reuseNode true + registryUrl 'https://engineering-docker.software.r3.com/' + registryCredentialsId 'artifactory-credentials' + } + } + options { + retry(3) + } + environment { + NEXUS_APP_ID="${nexusAppId}" + NEXUS_APP_STAGE="${params.nexusIqStage}" + NEXUSIQ_CREDENTIALS = credentials('jenkins-nexusiq-credentials') + } + steps { + sh '''\ + rm -rf report + env NEXUSIQ_USERNAME="${NEXUSIQ_CREDENTIALS_USR}" \ + NEXUSIQ_PASSWORD="${NEXUSIQ_CREDENTIALS_PSW}" \ + /opt/app/wrapper --write --outdir report \ + --force \ + --app "${NEXUS_APP_ID}" \ + --stage "${NEXUS_APP_STAGE}" + '''.stripIndent() + archiveArtifacts 'report/*.md' + } + } stage('All Tests') { when { @@ -172,6 +240,7 @@ pipeline { } stage('Recompile') { steps { + authenticateGradleWrapper() sh script: [ './gradlew', COMMON_GRADLE_PARAMS, diff --git a/Jenkinsfile b/Jenkinsfile index 6c684968b3..b46d3647bd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -52,6 +52,7 @@ pipeline { stages { stage('Compile') { steps { + authenticateGradleWrapper() sh script: [ './gradlew', COMMON_GRADLE_PARAMS, @@ -93,6 +94,7 @@ pipeline { } stage('Recompile') { steps { + authenticateGradleWrapper() sh script: [ './gradlew', COMMON_GRADLE_PARAMS, diff --git a/constants.properties b/constants.properties index 54579216f7..87362e8311 100644 --- a/constants.properties +++ b/constants.properties @@ -14,7 +14,7 @@ java8MinUpdateVersion=171 platformVersion=11 guavaVersion=28.0-jre # Quasar version to use with Java 8: -quasarVersion=0.7.14_r3 +quasarVersion=0.7.15_r3 # Quasar version to use with Java 11: quasarVersion11=0.8.1_r3 jdkClassifier11=jdk11 @@ -46,7 +46,7 @@ capsuleVersion=1.0.3 asmVersion=7.1 artemisVersion=2.19.1 # TODO Upgrade Jackson only when corda is using kotlin 1.3.10 -jacksonVersion=2.13.1 +jacksonVersion=2.13.3 jacksonKotlinVersion=2.9.7 jettyVersion=9.4.19.v20190610 jerseyVersion=2.25 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 29c1f86072..0ebb3108e2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://gradleproxy:gradleproxy@software.r3.com/artifactory/gradle-proxy/gradle-5.6.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists