Skip to content

spring-cloud/spring-cloud-release

Spring Cloud Release Train is a curated set of dependencies across a range of Spring Cloud projects. You consume it by using the spring-cloud-dependencies POM to manage dependencies in Maven or Gradle. The release trains have names, not versions, to avoid confusion with the sub-projects. The names are an alphabetic sequence (so you can sort them chronologically) with names of London Tube stations ("Angel" is the first release, "Brixton" is the second).

Generating release train documentation

In order to generate the release train documentation, please update the project with versions for a given release train and then execute the following command:

$ ./mvnw clean install -Pdocs,train-docs -pl train-docs

In order to upload the documentation to the documentation server just execute the following command:

$ ./mvnw clean deploy -Pdocs,train-docs -pl train-docs
Important
If you’re releasing milestones don’t forget to add -Pmilestone and if GA -Pcentral.

Building and Deploying

Since there is no code to compile in the starters they should do not need to compile, but a compiler has to be available because they are built and deployed as JAR artifacts. To install locally:

$ mvn install -s .settings.xml

and to deploy snapshots to repo.spring.io:

$ mvn install -DaltSnapshotDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-snapshot-local

for a RELEASE build use

$ mvn install -DaltReleaseDeploymentRepository=repo.spring.io::default::https://repo.spring.io/libs-release-local

and for Maven Central use

$ mvn install -P central -DaltReleaseDeploymentRepository=sonatype-nexus-staging::default::https://oss.sonatype.org/service/local/staging/deploy/maven2

(the "central" profile is available for all projects in Spring Cloud and it sets up the gpg jar signing, and the repository has to be specified separately for this project because it is a parent of the starter parent which users in turn have as their own parent).