From 740c32267f314fbf94878efd80b1e9b47f7035b8 Mon Sep 17 00:00:00 2001 From: Greg Turnquist Date: Tue, 12 May 2020 16:16:39 -0500 Subject: [PATCH 01/22] Continue development on 2.3.1.BUILD-SNAPSHOT. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2dfcc92e..ef4a6c6a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.session spring-session-data-mongodb - 2.3.0.RELEASE + 2.3.1.BUILD-SNAPSHOT Spring Session MongoDB https://spring.io/projects/spring-session-data-mongodb From efaaa905640aac62d53b1d14b5d0bdbf53bdd77d Mon Sep 17 00:00:00 2001 From: Greg Turnquist Date: Tue, 12 May 2020 16:18:17 -0500 Subject: [PATCH 02/22] Configure release branch for patch releases. --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 27b65022..697fdc9d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -145,7 +145,7 @@ pipeline { } stage('Promote to Bintray') { when { - branch 'release' + branch 'release-2.3' } agent { docker { @@ -179,7 +179,7 @@ pipeline { } stage('Sync to Maven Central') { when { - branch 'release' + branch 'release-2.3' } agent { docker { From e6109efecd17df939c1d3b2a96194a0472e28eed Mon Sep 17 00:00:00 2001 From: Greg Turnquist Date: Tue, 12 May 2020 16:26:43 -0500 Subject: [PATCH 03/22] Polish Jenkins. --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 697fdc9d..d5644b9a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -119,7 +119,7 @@ pipeline { RELEASE_TYPE = 'milestone' // .RC? or .M? - if (PROJECT_VERSION.endsWith('BUILD-SNAPSHOT')) { + if (PROJECT_VERSION.endsWith('SNAPSHOT')) { RELEASE_TYPE = 'snapshot' } else if (PROJECT_VERSION.endsWith('RELEASE')) { RELEASE_TYPE = 'release' From db5bcbd563702c94e3c07aa5be69f8d03a0078c8 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 20 Jan 2021 08:53:58 -0600 Subject: [PATCH 04/22] Upgrade to Spring Framework 5.2.12.RELEASE. --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ef4a6c6a..d1e44c50 100644 --- a/pom.xml +++ b/pom.xml @@ -78,7 +78,7 @@ 2.28.2 4.0.3 Dysprosium-SR7 - 5.2.6.RELEASE + 5.2.12.RELEASE Neumann-RELEASE 5.2.4.RELEASE 2.3.0.RELEASE @@ -90,7 +90,7 @@ spring-next Dysprosium-BUILD-SNAPSHOT - 5.2.7.BUILD-SNAPSHOT + 5.2.13.BUILD-SNAPSHOT Neumann-BUILD-SNAPSHOT 5.2.5.BUILD-SNAPSHOT 2.3.0.RELEASE From 11d745c8549edef03584915c99f8d1ce115815a1 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 20 Jan 2021 08:54:35 -0600 Subject: [PATCH 05/22] Upgrade to Spring Data Neumann-SR6. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d1e44c50..0f98eac7 100644 --- a/pom.xml +++ b/pom.xml @@ -79,7 +79,7 @@ 4.0.3 Dysprosium-SR7 5.2.12.RELEASE - Neumann-RELEASE + Neumann-SR6 5.2.4.RELEASE 2.3.0.RELEASE From 2375ec415ec0c32fc6eabaf3d1f16ebffcb21ba2 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 20 Jan 2021 08:55:01 -0600 Subject: [PATCH 06/22] Upgrade to Reactor Dysprosium-SR16. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0f98eac7..6d848eed 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ 5.6.0 2.28.2 4.0.3 - Dysprosium-SR7 + Dysprosium-SR16 5.2.12.RELEASE Neumann-SR6 5.2.4.RELEASE From 377ba962ec182798d07cab81dbd7aed5764e2f9f Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 20 Jan 2021 08:55:29 -0600 Subject: [PATCH 07/22] Upgrade to Spring Session Core 2.3.2. --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 6d848eed..35777e2c 100644 --- a/pom.xml +++ b/pom.xml @@ -81,7 +81,7 @@ 5.2.12.RELEASE Neumann-SR6 5.2.4.RELEASE - 2.3.0.RELEASE + 2.3.2.RELEASE @@ -93,7 +93,7 @@ 5.2.13.BUILD-SNAPSHOT Neumann-BUILD-SNAPSHOT 5.2.5.BUILD-SNAPSHOT - 2.3.0.RELEASE + 2.3.2.RELEASE From 0326e98454b6c0395cd7a3c2616642d3c4057e79 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 20 Jan 2021 09:12:45 -0600 Subject: [PATCH 08/22] Upgrade to MongoDB 4.0.5. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 35777e2c..f9fd2c0e 100644 --- a/pom.xml +++ b/pom.xml @@ -76,7 +76,7 @@ 3.0.2 5.6.0 2.28.2 - 4.0.3 + 4.0.5 Dysprosium-SR16 5.2.12.RELEASE Neumann-SR6 From 8528369f6527ebe7de7a6ae8eb97a186732181a4 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 20 Jan 2021 09:22:11 -0600 Subject: [PATCH 09/22] Add bintray for artifactory-maven-plugin. --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index f9fd2c0e..1216b6d3 100644 --- a/pom.xml +++ b/pom.xml @@ -919,6 +919,11 @@ spring-plugins-release https://repo.spring.io/plugins-release + + bintray-plugins + bintray-plugins + https://jcenter.bintray.com + From ec734c9b8543a4cdef20c0e6c307556956cfca41 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 20 Jan 2021 10:02:31 -0600 Subject: [PATCH 10/22] Releasing Spring Session for MongoDB v2.3.1.RELEASE --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1216b6d3..3a19075f 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.session spring-session-data-mongodb - 2.3.1.BUILD-SNAPSHOT + 2.3.1.RELEASE Spring Session MongoDB https://spring.io/projects/spring-session-data-mongodb From dacd3131c6f103aec46f9328de3cf51ec2ac20ee Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 20 Jan 2021 10:02:37 -0600 Subject: [PATCH 11/22] Continue development on v2.3.2.BUILD-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3a19075f..b7fa5282 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.session spring-session-data-mongodb - 2.3.1.RELEASE + 2.3.2.BUILD-SNAPSHOT Spring Session MongoDB https://spring.io/projects/spring-session-data-mongodb From c946d7febbd988a4152e543b81ebc99bc889adc5 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 5 Jan 2021 13:54:29 -0600 Subject: [PATCH 12/22] Backport releasing to sonatype. Migrate all the various tweaks made to work with Sonatype. --- Jenkinsfile | 122 ++----- ci/Dockerfile | 6 - ci/build-and-deploy-to-artifactory.sh | 11 + ci/build-and-deploy-to-maven-central.sh | 25 ++ ci/build.sh | 5 - ci/promote-to-bintray.sh | 42 --- ci/sync-to-maven-central.sh | 23 -- ci/test.sh | 5 +- ci/version.sh | 14 + pom.xml | 431 +++++++++++++----------- settings.xml | 11 +- src/docs/resources/assemblies/docs.xml | 27 ++ 12 files changed, 350 insertions(+), 372 deletions(-) delete mode 100644 ci/Dockerfile create mode 100755 ci/build-and-deploy-to-artifactory.sh create mode 100755 ci/build-and-deploy-to-maven-central.sh delete mode 100755 ci/build.sh delete mode 100755 ci/promote-to-bintray.sh delete mode 100755 ci/sync-to-maven-central.sh create mode 100755 ci/version.sh create mode 100644 src/docs/resources/assemblies/docs.xml diff --git a/Jenkinsfile b/Jenkinsfile index d5644b9a..1e4293dc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,26 +10,11 @@ pipeline { } stages { - stage('Publish OpenJDK 8 + jq docker image') { - when { - changeset "ci/Dockerfile" - } - agent any - - steps { - script { - def image = docker.build("springci/spring-session-data-mongodb-openjdk8-with-jq", "ci/") - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - image.push() - } - } - } - } stage("Test: baseline (jdk8)") { agent { docker { image 'adoptopenjdk/openjdk8:latest' - args '-v $HOME/.m2:/root/.m2' + args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } steps { @@ -42,7 +27,7 @@ pipeline { agent { docker { image 'adoptopenjdk/openjdk8:latest' - args '-v $HOME/.m2:/root/.m2' + args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } steps { @@ -53,7 +38,7 @@ pipeline { agent { docker { image 'adoptopenjdk/openjdk11:latest' - args '-v $HOME/.m2:/root/.m2' + args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } steps { @@ -64,7 +49,7 @@ pipeline { agent { docker { image 'adoptopenjdk/openjdk11:latest' - args '-v $HOME/.m2:/root/.m2' + args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } steps { @@ -75,7 +60,7 @@ pipeline { agent { docker { image 'adoptopenjdk/openjdk13:latest' - args '-v $HOME/.m2:/root/.m2' + args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } steps { @@ -86,7 +71,7 @@ pipeline { agent { docker { image 'adoptopenjdk/openjdk13:latest' - args '-v $HOME/.m2:/root/.m2' + args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } steps { @@ -95,25 +80,26 @@ pipeline { } } } - stage('Deploy to Artifactory') { + stage('Deploy') { agent { docker { - image 'adoptopenjdk/openjdk8:latest' - args '-v $HOME/.m2:/root/.m2' + image 'springci/spring-session-data-mongodb-openjdk8-with-jq:latest' + args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } + options { timeout(time: 20, unit: 'MINUTES') } environment { ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') + SONATYPE = credentials('oss-login') + KEYRING = credentials('spring-signing-secring.gpg') + PASSPHRASE = credentials('spring-gpg-passphrase') } steps { script { - // Warm up this plugin quietly before using it. - sh "./mvnw -q org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version" - PROJECT_VERSION = sh( - script: "./mvnw org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version -o | grep -v INFO", + script: "ci/version.sh", returnStdout: true ).trim() @@ -125,90 +111,44 @@ pipeline { RELEASE_TYPE = 'release' } - OUTPUT = sh( - script: "PROFILE=distribute,docs,${RELEASE_TYPE} ci/build.sh", - returnStdout: true - ).trim() - - echo "$OUTPUT" + if (RELEASE_TYPE == 'release') { + sh "PROFILE=central USERNAME=${SONATYPE_USR} PASSWORD=${SONATYPE_PSW} ci/build-and-deploy-to-maven-central.sh ${PROJECT_VERSION}" - build_info_path = OUTPUT.split('\n') - .find { it.contains('Artifactory Build Info Recorder') } - .split('Saving Build Info to ')[1] - .trim()[1..-2] + slackSend( + color: (currentBuild.currentResult == 'SUCCESS') ? 'good' : 'danger', + channel: '#spring-session-bot', + message: "@here Spring Session for MongoDB ${PROJECT_VERSION} is staged on Sonatype awaiting closure and release.") - dir(build_info_path + '/..') { - stash name: 'build_info', includes: "*.json" - } - } - } - } - stage('Promote to Bintray') { - when { - branch 'release-2.3' - } - agent { - docker { - image 'springci/spring-session-data-mongodb-openjdk8-with-jq:latest' - args '-v $HOME/.m2:/root/.m2' - } - } - - environment { - ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') - } - - steps { - script { - // Warm up this plugin quietly before using it. - sh "./mvnw -q org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version" - - PROJECT_VERSION = sh( - script: "./mvnw org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version -o | grep -v INFO", - returnStdout: true - ).trim() - - if (PROJECT_VERSION.endsWith('RELEASE')) { - unstash name: 'build_info' - sh "ci/promote-to-bintray.sh" } else { - echo "${PROJECT_VERSION} is not a candidate for promotion to Bintray." + sh "PROFILE=${RELEASE_TYPE} ci/build-and-deploy-to-artifactory.sh" } } } } - stage('Sync to Maven Central') { + stage('Release documentation') { when { branch 'release-2.3' } agent { docker { image 'springci/spring-session-data-mongodb-openjdk8-with-jq:latest' - args '-v $HOME/.m2:/root/.m2' + args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } + options { timeout(time: 20, unit: 'MINUTES') } environment { - BINTRAY = credentials('Bintray-spring-operator') - SONATYPE = credentials('oss-token') + ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') } steps { script { - // Warm up this plugin quietly before using it. - sh "./mvnw -q org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version" - - PROJECT_VERSION = sh( - script: "./mvnw org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version -o | grep -v INFO", - returnStdout: true - ).trim() - - if (PROJECT_VERSION.endsWith('RELEASE')) { - unstash name: 'build_info' - sh "ci/sync-to-maven-central.sh" - } else { - echo "${PROJECT_VERSION} is not a candidate for syncing to Maven Central." - } + sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pdocs ' + + '-Dartifactory.server=https://repo.spring.io ' + + "-Dartifactory.username=${ARTIFACTORY_USR} " + + "-Dartifactory.password=${ARTIFACTORY_PSW} " + + "-Dartifactory.distribution-repository=temp-private-local " + + 'deploy -B' } } } diff --git a/ci/Dockerfile b/ci/Dockerfile deleted file mode 100644 index b05019dd..00000000 --- a/ci/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM adoptopenjdk/openjdk8:latest - -RUN apt-get update && apt-get install -y jq - -RUN apt-get clean \ - && rm -rf /var/lib/apt/lists/* diff --git a/ci/build-and-deploy-to-artifactory.sh b/ci/build-and-deploy-to-artifactory.sh new file mode 100755 index 00000000..80e30e0f --- /dev/null +++ b/ci/build-and-deploy-to-artifactory.sh @@ -0,0 +1,11 @@ +#!/bin/bash -x + +set -euo pipefail + +# +# Deploy the artifactory +# +echo 'Deploying to Artifactory...' + +MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \ + ./mvnw -P${PROFILE} -Dmaven.test.skip=true clean deploy -B diff --git a/ci/build-and-deploy-to-maven-central.sh b/ci/build-and-deploy-to-maven-central.sh new file mode 100755 index 00000000..653901a2 --- /dev/null +++ b/ci/build-and-deploy-to-maven-central.sh @@ -0,0 +1,25 @@ +#!/bin/bash -x + +set -euo pipefail + +PROJECT_VERSION=$1 + +# +# Stage on Maven Central +# +echo 'Staging on Maven Central...' + +GNUPGHOME=/tmp/gpghome +export GNUPGHOME + +mkdir $GNUPGHOME +cp $KEYRING $GNUPGHOME + +MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw \ + -s settings.xml \ + -P${PROFILE} \ + -Dmaven.test.skip=true \ + -Dgpg.passphrase=${PASSPHRASE} \ + -Dgpg.secretKeyring=${GNUPGHOME}/secring.gpg \ + -DstagingDescription="Releasing Spring Session for MongoDB ${PROJECT_VERSION}" \ + clean deploy -B \ No newline at end of file diff --git a/ci/build.sh b/ci/build.sh deleted file mode 100755 index 3a3c5065..00000000 --- a/ci/build.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -set -euo pipefail - -MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/spring-session-maven-repository" ./mvnw -P${PROFILE} -Dmaven.test.skip=true clean deploy -B diff --git a/ci/promote-to-bintray.sh b/ci/promote-to-bintray.sh deleted file mode 100755 index a00bb8d6..00000000 --- a/ci/promote-to-bintray.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -set -e -u - -buildName=`jq -r '.name' build-info.json` -buildNumber=`jq -r '.number' build-info.json` -groupId=`jq -r '.modules[0].id' build-info.json | sed 's/\(.*\):.*:.*/\1/'` -version=`jq -r '.modules[0].id' build-info.json | sed 's/.*:.*:\(.*\)/\1/'` - -echo "Promoting ${buildName}/${buildNumber}/${groupId}/${version} to libs-release-local" - -curl \ - -s \ - --connect-timeout 240 \ - --max-time 2700 \ - -u ${ARTIFACTORY_USR}:${ARTIFACTORY_PSW} \ - -H 'Content-type:application/json' \ - -d '{"sourceRepos": ["libs-release-local"], "targetRepo" : "spring-distributions", "async":"true"}' \ - -f \ - -X \ - POST "https://repo.spring.io/api/build/distribute/${buildName}/${buildNumber}" > /dev/null || { echo "Failed to distribute" >&2; exit 1; } - -echo "Waiting for artifacts to be published" - -ARTIFACTS_PUBLISHED=false -WAIT_TIME=10 -COUNTER=0 - -while [ $ARTIFACTS_PUBLISHED == "false" ] && [ $COUNTER -lt 120 ]; do - - result=$( curl -s https://api.bintray.com/packages/spring/jars/"${groupId}" ) - versions=$( echo "$result" | jq -r '.versions' ) - exists=$( echo "$versions" | grep "$version" -o || true ) - - if [ "$exists" = "$version" ]; then - ARTIFACTS_PUBLISHED=true - fi - - COUNTER=$(( COUNTER + 1 )) - sleep $WAIT_TIME - -done diff --git a/ci/sync-to-maven-central.sh b/ci/sync-to-maven-central.sh deleted file mode 100755 index a2d47e83..00000000 --- a/ci/sync-to-maven-central.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -set -e -u - -buildName=`jq -r '.name' build-info.json` -buildNumber=`jq -r '.number' build-info.json` -groupId=`jq -r '.modules[0].id' build-info.json | sed 's/\(.*\):.*:.*/\1/'` -version=`jq -r '.modules[0].id' build-info.json | sed 's/.*:.*:\(.*\)/\1/'` - -echo "Synching ${buildName}/${buildNumber}/${groupId}/${version} to Maven Central..." - -curl \ - -s \ - --connect-timeout 240 \ - --max-time 2700 \ - -u ${BINTRAY_USR}:${BINTRAY_PSW} \ - -H 'Content-Type: application/json' \ - -d "{ \"username\": \"${SONATYPE_USR}\", \"password\": \"${SONATYPE_PSW}\"}" \ - -f \ - -X \ - POST "https://api.bintray.com/maven_central_sync/spring/jars/${groupId}/versions/${version}" > /dev/null || { echo "Failed to sync" >&2; exit 1; } - -echo "Sync complete" diff --git a/ci/test.sh b/ci/test.sh index 5910782f..c2bb6776 100755 --- a/ci/test.sh +++ b/ci/test.sh @@ -1,5 +1,6 @@ -#!/bin/bash +#!/bin/bash -x set -euo pipefail -MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/spring-session-maven-repository" ./mvnw -P${PROFILE} clean dependency:list test -Dsort -U -B +MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \ + ./mvnw -P${PROFILE} clean dependency:list test -Dsort -U -B diff --git a/ci/version.sh b/ci/version.sh new file mode 100755 index 00000000..3e9fb1ba --- /dev/null +++ b/ci/version.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -euo pipefail + +RAW_VERSION=`MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw \ + org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \ + -Dexpression=project.version -q -DforceStdout` + +# Split things up +VERSION_PARTS=($RAW_VERSION) + +# Grab the last part, which is the actual version number. +echo ${VERSION_PARTS[${#VERSION_PARTS[@]}-1]} + diff --git a/pom.xml b/pom.xml index b7fa5282..4aadf895 100644 --- a/pom.xml +++ b/pom.xml @@ -139,9 +139,12 @@ - distribute + docs + true + true + true 0.1.2.RELEASE ${project.build.directory}/shared-resources ${project.build.directory}/generated-asciidoc-sources/source/ @@ -161,6 +164,7 @@ + org.apache.maven.plugins maven-dependency-plugin @@ -182,6 +186,81 @@ + + org.asciidoctor + asciidoctor-maven-plugin + 2.0.0-RC.1 + + + org.jruby + jruby + 9.2.6.0 + + + org.asciidoctor + asciidoctorj + 2.0.0-RC.1 + + + org.asciidoctor + asciidoctorj-pdf + 1.5.0-alpha.16 + + + org.asciidoctor + asciidoctorj-epub3 + 1.5.0-alpha.8.1 + + + + + output-html + compile + + process-asciidoc + + + ${generated-asciidoc-sources.directory} + ${generated-docs.directory} + html5 + book + highlight.js + + js/highlight + atom-one-dark-reasonable + true + true + ./css + spring.css + left + v${project.version} + ${basedir} + + https://raw.githubusercontent.com/spring-projects/spring-session-data-mongodb-examples/master + + ${spring-session.version} + + + + + + book + + book + shared + font + false + images + ${project.version} + ${project.name} + ${project.version} + true + 4 + true + + + + org.apache.maven.plugins maven-source-plugin @@ -202,6 +281,16 @@ -Xdoclint:none + + aggregate-javadoc + + aggregate + + package + + ${project.root}/target/site/apidocs + + attach-javadocs @@ -246,7 +335,7 @@ + todir="${generated-asciidoc-sources.directory}/images/"> @@ -271,7 +360,7 @@ + todir="target/site/reference/html/images"> @@ -294,6 +383,14 @@ + + + + + + @@ -305,172 +402,71 @@ - - - - - - docs + - - - - org.asciidoctor - asciidoctor-maven-plugin - 2.0.0-RC.1 - - - org.jruby - jruby - 9.2.6.0 - - - org.asciidoctor - asciidoctorj - 2.0.0-RC.1 - - - org.asciidoctor - asciidoctorj-pdf - 1.5.0-alpha.16 - - - org.asciidoctor - asciidoctorj-epub3 - 1.5.0-alpha.8.1 - - - - - output-html - compile - - process-asciidoc - - - ${generated-asciidoc-sources.directory} - ${generated-docs.directory} - html5 - book - highlight.js - - js/highlight - atom-one-dark-reasonable - true - true - ./css - spring.css - left - v${project.version} - ${basedir} - - https://raw.githubusercontent.com/spring-projects/spring-session-data-mongodb-examples/master - - ${spring-session.version} - - - - - - book - - book - shared - font - false - images - ${project.version} - ${project.name} - ${project.version} - true - 4 - true - - - - - maven-javadoc-plugin - - -Xdoclint:none - - - - attach-javadocs - - jar - - - - org.apache.maven.plugins - maven-antrun-plugin - - - ant-contrib - ant-contrib - 1.0b3 - - - ant - ant - - - - - org.apache.ant - ant-nodeps - 1.8.1 - - - org.tigris.antelope - antelopetasks - 3.2.10 - - + maven-assembly-plugin - package-and-attach-docs-zip - package + docs - run + single + package - - - - - - + + src/docs/resources/assemblies/docs.xml + + spring-session-data-mongodb-${project.version} + true + + - org.codehaus.mojo - build-helper-maven-plugin - 1.10 + org.jfrog.buildinfo + artifactory-maven-plugin + 2.6.1 - attach-zip + deploy-docs - attach-artifact + publish + deploy - - - - ${project.build.directory}/${project.artifactId}-${project.version}.zip - - zip;zip.type=docs;zip.deployed=false - - + + false + + + spring-session-data-mongodb-docs + spring-session-data-mongodb-docs + false + docs + + + + Spring Docs spring-session-data-mongodb ${project.version} + 1 + + + {{artifactory.server}} + {{artifactory.username}} + {{artifactory.password}} + {{artifactory.distribution-repository}} + {{artifactory.distribution-repository}} + *-docs.zip + + @@ -495,13 +491,6 @@ {{BUILD_URL}} - - spring-session-data-mongodb - spring-session-data-mongodb - false - docs - *:*:*:*@zip - https://repo.spring.io {{ARTIFACTORY_USR}} @@ -537,13 +526,6 @@ {{BUILD_URL}} - - spring-session-data-mongodb - spring-session-data-mongodb - false - docs - *:*:*:*@zip - https://repo.spring.io {{ARTIFACTORY_USR}} @@ -560,47 +542,94 @@ - release + central + + + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.8 + true + + sonatype + https://s01.oss.sonatype.org/ + false + true + true + + + + + + + - org.jfrog.buildinfo - artifactory-maven-plugin - 2.6.1 - false + maven-javadoc-plugin + + -Xdoclint:none + - build-info + attach-javadocs - publish + jar - - - {{BUILD_URL}} - - - spring-session-data-mongodb - spring-session-data-mongodb - false - docs - *:*:*:*@zip - - - https://repo.spring.io - {{ARTIFACTORY_USR}} - {{ARTIFACTORY_PSW}} - libs-release-local - libs-release-local - - + + + org.apache.maven.plugins + maven-gpg-plugin + + + + org.sonatype.plugins + nexus-staging-maven-plugin + + + - + + + sonatype + https://s01.oss.sonatype.org//service/local/staging/deploy/maven2/ + + + + @@ -865,16 +894,22 @@ org.apache.maven.plugins maven-jar-plugin - 2.6 + 3.0.2 - true + + + ${project.name} + ${project.version} + ${java-module-name} + + org.apache.maven.plugins maven-source-plugin - 2.4 + 3.0.1 attach-sources @@ -905,12 +940,18 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 3.0.0-M3 false + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.2 + + @@ -937,9 +978,9 @@ - https://github.com/spring-projects/spring-session-mongodb - scm:git:git://github.com/spring-projects/spring-session-mongodb.git - scm:git:ssh://git@github.com:spring-projects/spring-session-mongodb.git + https://github.com/spring-projects/spring-session-data-mongodb + scm:git:git://github.com/spring-projects/spring-session-data-mongodb.git + scm:git:ssh://git@github.com:spring-projects/spring-session-data-mongodb.git diff --git a/settings.xml b/settings.xml index 829f33c3..7368837c 100644 --- a/settings.xml +++ b/settings.xml @@ -1,16 +1,11 @@ - sonatype-nexus-snapshots - ${env.USERNAME} - ${env.PASSWORD} - - - sonatype-nexus-staging + sonatype ${env.USERNAME} ${env.PASSWORD} diff --git a/src/docs/resources/assemblies/docs.xml b/src/docs/resources/assemblies/docs.xml new file mode 100644 index 00000000..f8b41cba --- /dev/null +++ b/src/docs/resources/assemblies/docs.xml @@ -0,0 +1,27 @@ + + + docs + + dir + zip + + false + + + + target/site/reference + reference + + + + target/site/apidocs + api + + + From 0b5047fc2cac81c5a645223c486caa013a3d36be Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 2 Mar 2021 15:55:05 -0600 Subject: [PATCH 13/22] Create script to run all variations using local Docker. Using Docker, run the various test configurations locally proper versions of Java and maven settings. --- ci/all.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 ci/all.sh diff --git a/ci/all.sh b/ci/all.sh new file mode 100755 index 00000000..08ca4aa7 --- /dev/null +++ b/ci/all.sh @@ -0,0 +1,23 @@ +#!/bin/bash -x + +set -euo pipefail + +############################ +# +# Use Docker to run the same suite of tests run on Jenkins. +# +# @author Greg Turnquist +# +############################ + +# Primary test run +docker run --rm -v $(pwd):/spring-session-data-mongodb-github -v $HOME/.m2:/tmp/jenkins-home/.m2 -it adoptopenjdk/openjdk8 /bin/bash -c "cd spring-session-data-mongodb-github ; PROFILE=convergence ci/test.sh" + +# Extra test scenarios +docker run --rm -v $(pwd):/spring-session-data-mongodb-github -v $HOME/.m2:/tmp/jenkins-home/.m2 -it adoptopenjdk/openjdk8 /bin/bash -c "cd spring-session-data-mongodb-github ; PROFILE=spring-next,convergence ci/test.sh" + +docker run --rm -v $(pwd):/spring-session-data-mongodb-github -v $HOME/.m2:/tmp/jenkins-home/.m2 -it adoptopenjdk/openjdk11 /bin/bash -c "cd spring-session-data-mongodb-github ; PROFILE=convergence ci/test.sh" +docker run --rm -v $(pwd):/spring-session-data-mongodb-github -v $HOME/.m2:/tmp/jenkins-home/.m2 -it adoptopenjdk/openjdk11 /bin/bash -c "cd spring-session-data-mongodb-github ; PROFILE=spring-next,convergence ci/test.sh" + +docker run --rm -v $(pwd):/spring-session-data-mongodb-github -v $HOME/.m2:/tmp/jenkins-home/.m2 -it adoptopenjdk/openjdk15 /bin/bash -c "cd spring-session-data-mongodb-github ; PROFILE=convergence ci/test.sh" +docker run --rm -v $(pwd):/spring-session-data-mongodb-github -v $HOME/.m2:/tmp/jenkins-home/.m2 -it adoptopenjdk/openjdk15 /bin/bash -c "cd spring-session-data-mongodb-github ; PROFILE=spring-next,convergence ci/test.sh" From 74b86aaba9d8dab39318514b7fe47402cc7eacd1 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 2 Mar 2021 16:03:12 -0600 Subject: [PATCH 14/22] Test against JDK 15 on CI. --- Jenkinsfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1e4293dc..4a2cb4d6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -56,10 +56,10 @@ pipeline { sh "PROFILE=spring-next,convergence ci/test.sh" } } - stage("Test: baseline (jdk13)") { + stage("Test: baseline (jdk15)") { agent { docker { - image 'adoptopenjdk/openjdk13:latest' + image 'adoptopenjdk/openjdk15:latest' args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } @@ -67,10 +67,10 @@ pipeline { sh "PROFILE=convergence ci/test.sh" } } - stage("Test: spring-next (jdk13)") { + stage("Test: spring-next (jdk15)") { agent { docker { - image 'adoptopenjdk/openjdk13:latest' + image 'adoptopenjdk/openjdk15:latest' args '-v $HOME/.m2:/tmp/jenkins-home/.m2' } } From 415470d2c47c81c2e8f29fb7a7feb4bd212428b0 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 13 Apr 2021 21:47:57 -0500 Subject: [PATCH 15/22] Upgrade to Spring Framework 5.2.14.RELEASE. --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 4aadf895..3169e874 100644 --- a/pom.xml +++ b/pom.xml @@ -78,7 +78,7 @@ 2.28.2 4.0.5 Dysprosium-SR16 - 5.2.12.RELEASE + 5.2.14.RELEASE Neumann-SR6 5.2.4.RELEASE 2.3.2.RELEASE @@ -90,7 +90,7 @@ spring-next Dysprosium-BUILD-SNAPSHOT - 5.2.13.BUILD-SNAPSHOT + 5.2.15.BUILD-SNAPSHOT Neumann-BUILD-SNAPSHOT 5.2.5.BUILD-SNAPSHOT 2.3.2.RELEASE From 4caa21a316833d84536323455d3079929b6f4bf9 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 13 Apr 2021 21:48:45 -0500 Subject: [PATCH 16/22] Upgrade to Spring Data Neumann-SR8. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3169e874..1e90ec43 100644 --- a/pom.xml +++ b/pom.xml @@ -79,7 +79,7 @@ 4.0.5 Dysprosium-SR16 5.2.14.RELEASE - Neumann-SR6 + Neumann-SR8 5.2.4.RELEASE 2.3.2.RELEASE From 273bbfb96a2cf7844d86213cb0d594663520da1f Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 13 Apr 2021 21:50:17 -0500 Subject: [PATCH 17/22] Upgrade to Spring Security 5.2.10.RELEASE. --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 1e90ec43..34dc2cd8 100644 --- a/pom.xml +++ b/pom.xml @@ -80,7 +80,7 @@ Dysprosium-SR16 5.2.14.RELEASE Neumann-SR8 - 5.2.4.RELEASE + 5.2.10.RELEASE 2.3.2.RELEASE @@ -92,7 +92,7 @@ Dysprosium-BUILD-SNAPSHOT 5.2.15.BUILD-SNAPSHOT Neumann-BUILD-SNAPSHOT - 5.2.5.BUILD-SNAPSHOT + 5.2.11.BUILD-SNAPSHOT 2.3.2.RELEASE From ba04ad04ca13d1294facc89f8865fec21d76b97e Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 13 Apr 2021 21:50:36 -0500 Subject: [PATCH 18/22] Remove bintray repository. --- pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pom.xml b/pom.xml index 34dc2cd8..aadfda41 100644 --- a/pom.xml +++ b/pom.xml @@ -960,11 +960,6 @@ spring-plugins-release https://repo.spring.io/plugins-release - - bintray-plugins - bintray-plugins - https://jcenter.bintray.com - From f56f040513b17cada94e700664eff82380c175a8 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 13 Apr 2021 21:51:18 -0500 Subject: [PATCH 19/22] Upgrade to Spring Session 2.3.3.RELEASE. --- pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index aadfda41..d5109e8a 100644 --- a/pom.xml +++ b/pom.xml @@ -81,7 +81,7 @@ 5.2.14.RELEASE Neumann-SR8 5.2.10.RELEASE - 2.3.2.RELEASE + 2.3.3.RELEASE @@ -93,7 +93,6 @@ 5.2.15.BUILD-SNAPSHOT Neumann-BUILD-SNAPSHOT 5.2.11.BUILD-SNAPSHOT - 2.3.2.RELEASE From 47778eeeb10cac7c7a23e71a2651c4d979097b01 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Tue, 13 Apr 2021 21:52:04 -0500 Subject: [PATCH 20/22] Upgrade to MongoDB 4.0.6. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d5109e8a..b5ea8fcb 100644 --- a/pom.xml +++ b/pom.xml @@ -76,7 +76,7 @@ 3.0.2 5.6.0 2.28.2 - 4.0.5 + 4.0.6 Dysprosium-SR16 5.2.14.RELEASE Neumann-SR8 From 05ac10321cd06af4fb8ce9df1942039138066328 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 14 Apr 2021 11:13:15 -0500 Subject: [PATCH 21/22] Upgrade to Spring Data Neumann-SR9. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b5ea8fcb..0e381485 100644 --- a/pom.xml +++ b/pom.xml @@ -79,7 +79,7 @@ 4.0.6 Dysprosium-SR16 5.2.14.RELEASE - Neumann-SR8 + Neumann-SR9 5.2.10.RELEASE 2.3.3.RELEASE From f2ad6d210b871181ec039ca9625cb7804ab7486a Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Wed, 14 Apr 2021 12:30:16 -0500 Subject: [PATCH 22/22] Releasing Spring Session for MongoDB v2.3.2.RELEASE --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0e381485..0f2c2c35 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.session spring-session-data-mongodb - 2.3.2.BUILD-SNAPSHOT + 2.3.2.RELEASE Spring Session MongoDB https://spring.io/projects/spring-session-data-mongodb