diff --git a/README.adoc b/README.adoc index 313a4e2..8228926 100644 --- a/README.adoc +++ b/README.adoc @@ -11,6 +11,42 @@ Spring Session MongoDB provides a solution for Spring Session in a MongoDB data ** Pluggable strategy for determining the session id ** Easily keep the HttpSession alive when a WebSocket is active + +== Building Spring Session MongoDB + +. Run `mvn clean package` + +This will generate the artifact. + +You can also import the project into your IDE. + +== Releasing Spring Session MongoDB + +Snapshots are published automatically via CI server by doing this: + +---- +$ USERNAME= PASSWORD= mvn -Pdistribute,snapshot,docs clean deploy +---- + +IMPORTANT: Snapshots do NOT include GPG signatures. To do so would require putting a private key on the CI server. The process for releases (below) is manual and DOES include GPG signatures. + +To do a release (.RELEASE, .RC?, .M?): + +. Check in all changes and ensure there are no edited files. +. Bump up the version in `pom.xml` to the desired version and commit the change. +. `git tag ` (like v2.0.1.RELEASE) +. Execute a maven deploy. +. Execute a maven deploy. +* For a milestone: `USERNAME= PASSWORD= mvn -Pdistribute,gpg,milestone,docs clean deploy` +* For a release: `USERNAME= PASSWORD= mvn -Pdistribute,gpg,release,docs clean deploy` +* For a release to maven central: `USERNAME= PASSWORD= mvn -Pdistribute,gpg,central,docs clean deploy -s settings.xml` +. Bump up the version in `pom.xml` again to the next BUILD-SNAPSHOT. +. Commit the change. +. `git push` (This will push the tagged version along with the release AND the new snapshot commit) +. Inspect handiwork at https://repo.spring.io/ or https://oss.sonatype.org/#stagingRepositories + +NOTE: A word about reference documentation. Based upon https://github.com/spring-projects/spring-framework/wiki/gradle-build-and-release-faq#user-content-wiki-docs_schema_dist_publication[this], the `distribute` profile contains an artifactory property that is applied to the ZIP file generated by the `docs` profile. A CRON job will scoop up the zipped up docs and unpack them inside the target location. + == Code of Conduct This project adheres to the Contributor Covenant link:CODE_OF_CONDUCT.adoc[code of conduct]. By participating, you are expected to uphold this code. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io. diff --git a/pom.xml b/pom.xml index cedae09..731fd5a 100644 --- a/pom.xml +++ b/pom.xml @@ -97,145 +97,303 @@ - - - - ci + distribute - org.apache.maven.plugins - maven-javadoc-plugin - 2.10.4 + maven-source-plugin + 3.0.0 + attach-sources + + jar-no-fork + + + + + + maven-javadoc-plugin + + -Xdoclint:none + + + + attach-javadocs jar - package - - - - - - distribute + gpg - ${project.build.directory}/shared-resources - true - true - ${basedir} + true - - - - org.apache.maven.plugins - maven-javadoc-plugin + maven-gpg-plugin + 1.6 - aggregate-javadoc + sign-artifact + verify - aggregate + sign - package + + + + + snapshot + + + + + org.jfrog.buildinfo + artifactory-maven-plugin + 2.6.1 + false + + + build-info + + publish + + + + *:*:*:*@zip zip.name:spring-session-data-mongodb, zip.displayname:Spring Session MongoDB, zip.deployed:false + + + http://repo.spring.io + {{USERNAME}} + {{PASSWORD}} + libs-snapshot-local + libs-snapshot-local + + + + + + + + + + + milestone + + + + + org.jfrog.buildinfo + artifactory-maven-plugin + 2.6.1 + false + + + build-info + + publish + + + + *:*:*:*@zip zip.name:spring-session-data-mongodb, zip.displayname:Spring Session MongoDB, zip.deployed:false + + + http://repo.spring.io + {{USERNAME}} + {{PASSWORD}} + libs-milestone-local + libs-snapshot-local + + + + + + + + + + + release + + + + + org.jfrog.buildinfo + artifactory-maven-plugin + 2.6.1 + false + + + build-info + + publish + + + + *:*:*:*@zip zip.name:spring-session-data-mongodb, zip.displayname:Spring Session MongoDB, zip.deployed:false + + + http://repo.spring.io + {{USERNAME}} + {{PASSWORD}} + libs-release-local + libs-snapshot-local + + + + + + + + + + + central + + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + + sonatype-nexus-staging + Nexus Release Repository + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + docs + + + org.asciidoctor asciidoctor-maven-plugin 1.5.3 - - - org.asciidoctor - asciidoctorj-pdf - 1.5.0-alpha.11 - - - org.asciidoctor - asciidoctorj-epub3 - 1.5.0-alpha.6 - - - - html + output-html generate-resources process-asciidoc - html5 - ${project.build.directory}/site/reference/html - false - prettify + ${basedir}/src/main/asciidoc + index.adoc + ${project.build.directory}/content/reference/htmlsingle + html + book - true - font - true - spring.css + true + css/manual-singlepage.css + v${project.version} - + + + + maven-javadoc-plugin + + -Xdoclint:none + + - pdf - generate-resources + attach-javadocs - process-asciidoc + 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 + + + + + package-and-attach-docs-zip + package + + run - pdf - coderay + + + + + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + attach-zip + + attach-artifact + + + + + ${project.build.directory}/${project.artifactId}-${project.version}.zip + zip;zip.type=docs;zip.deployed=false + + - - - - ${project.root}/src/main/asciidoc - index.adoc - book - - ${project.version} - ${project.name} - ${project.version} - true - 3 - true - ${project.basedir} - - - - - +