N.B. This library has been forked from the (now archived) play-silhouette, and these steps are intended to be temporary in order to continue development and update packages in the short term. In the longer term, this will be an automated procedure with traceability in GitHub using tools like the sbt-release plugin. The overall goal is to move to a continuous deployment culture to ensure there are no bottlenecks.
Play Silhouette is published to Maven Central via Sonatype. This means that the packages are built, signed (using a publically accessible pgp key) and pushed to Sonatype Nexus where it is reflected to Maven Central. The general elements of this process are explained in more detail in the Sonatype Publishing guide, where this project uses the sbt tool to publish.
You will need the following tooling to release play-silhouette, where more details can be found in
- Sonatype OSSRH account, details and signup here.
- gpg, where details of setting up your environment are here
- (With
-SNAPSHOT
) Run tests withsbt + test
to run a cross-platform (Scala 2.12.x and 2.13.x) test suite and ensure that all pass. - Publish library artefacts with
sbt + publishSigned
as the final update to the current snapshot. - Update the project version number in
project/BuildSettings.scala
to the next version in accordance with Semantic Versioning ensuring that there is no trailing-SNAPSHOT
to permit a production release. - Add version and publishing information to CHANGELOG.md.
- Commit changes.
- Tag the release with the updated project version using Git.
- Push changes and tags to central repository.
- Release library artefacts with
sbt + publishSigned
to release play-silhouette to the world! - Update the project version number in
project/BuildSettings.scala
to the next version with-SNAPSHOT
appended for the next development releases. - Commit changes.
- Publish library artefacts with
sbt + publishSigned
as the first update to the current snapshot. - Push changes to central repository.