From 1bc2b80e3e9a55d027bf02509354f003c1ba543a Mon Sep 17 00:00:00 2001 From: buildmaster Date: Wed, 17 Oct 2018 07:17:40 +0000 Subject: [PATCH] Sync docs from master to gh-pages --- multi/multi__spring_cloud_release_tools.html | 14 +++--- single/spring-cloud-release-tools.html | 14 +++--- spring-cloud-release-tools.xml | 52 ++++++++++++-------- 3 files changed, 46 insertions(+), 34 deletions(-) diff --git a/multi/multi__spring_cloud_release_tools.html b/multi/multi__spring_cloud_release_tools.html index 06c30c64..3708cab1 100644 --- a/multi/multi__spring_cloud_release_tools.html +++ b/multi/multi__spring_cloud_release_tools.html @@ -1,7 +1,7 @@ 1. Spring Cloud Release Tools

1. Spring Cloud Release Tools

Spring Cloud projects reuse the same pattern of building and deploying the applications. That’s -why this tool makes it easy to automate the release / dependency update process of our applications.

1.1 What does it do?

1.1.1 Single project

For a single project

  • Clones the Spring Cloud Release project and picks all versions (Boot + Cloud projects)
  • Modifies the project versions with values from SC-Release

    • throws an exception when we bump versions to release and there’s a SNAPSHOT version referenced in the POM
  • Performs the build and checks if the docs modules have properly created the documentation

    • throws an exception when in the docs module there’s an unresolved tag in any HTML file
  • Commits changed poms (ONLY FOR NON-SNAPSHOT VERSIONS)
  • Creates a tag for the release / milestone (ONLY FOR NON-SNAPSHOT VERSIONS)
  • Runs the deployment of the artifacts
  • Publishes the docs (to spring-cloud-static for non-snapshots, to gh-pages for snapshots)
  • Reverts back to snapshots, bumps the version by a patch (1.0.1.RELEASE1.0.2.BUILD-SNAPSHOT) (ONLY FOR RELEASE VERSIONS)
  • Closes the milestone on Github (e.g. v1.0.1.RELEASE) (ONLY FOR NON-SNAPSHOT VERSIONS)
[Important]Important

Starting with version that does Sagan integration, you MUST pass the OAuth token, +why this tool makes it easy to automate the release / dependency update process of our applications.

1.1 What does it do?

1.1.1 Single project

For a single project

  • Clones the Spring Cloud Release project and picks all versions (Boot + Cloud projects)
  • Modifies the project versions with values from a BOM (e.g. for Spring Cloud it’s Spring Cloud Release)

    • throws an exception when we bump versions to release and there’s a SNAPSHOT version referenced in the POM
  • Performs the build and checks if the docs modules have properly created the documentation

    • throws an exception when in the docs module there’s an unresolved tag in any HTML file
  • Commits changed poms (ONLY FOR NON-SNAPSHOT VERSIONS)
  • Creates a tag for the release / milestone (ONLY FOR NON-SNAPSHOT VERSIONS)
  • Runs the deployment of the artifacts
  • Publishes the docs (to spring-cloud-static for non-snapshots, to gh-pages for snapshots)
  • Reverts back to snapshots, bumps the version by a patch (1.0.1.RELEASE1.0.2.BUILD-SNAPSHOT) (ONLY FOR RELEASE VERSIONS)
  • Closes the milestone on Github (e.g. v1.0.1.RELEASE) (ONLY FOR NON-SNAPSHOT VERSIONS)
[Important]Important

Starting with version that does Sagan integration, you MUST pass the OAuth token, otherwise the application will fail to start

After project release

1.1.2 Meta-release

  • Uses the fixed versions to clone and check out each project (e.g. spring-cloud-sleuth: 2.1.0.RELEASE)
  • From the version analyzes the branch and checks it out. E.g.

    • for spring-cloud-release’s `Finchley.RELEASE version will resolve either Finchley branch or will fallback to master if there’s no Finchley branch.
    • for spring-cloud-sleuth’s `2.1.0.RELEASE version will resolve 2.1.x branch
  • Performs the release tasks per each project
  • Performs the post release tasks at the end of the release
[Important]Important

For the meta-releaser to work we assume that the path to the custom configuration file for each project is always config/releaser.yml.

1.2 What should I do first?

Members of the Spring Cloud Team typically use this tool as follows. They first clone the releaser locally and build the jar manually

$ git clone git@github.com:spring-cloud/spring-cloud-release-tools.git
@@ -113,15 +113,15 @@ in the `--"releaser.fixed-versions[project-name]=project-version" format

spring-cloud-netflix project,
 or build only tasks with names spring-cloud-build,spring-cloud-sleuth.

1.6 Project options

  • releaser.fixed-versions - A String to String mapping of manually set versions. E.g. "spring-cloud-cli" → "1.0.0.RELEASE" will set the spring-cloud-cli.version to 1.0.0.RELEASE regardless of what was set in spring-cloud-release project. Example --releaser.fixed-versions[spring-cloud-cli]=1.0.0.RELEASE. -Use these properties to provide versions for the meta release.
  • releaser.meta-release.enabled - You have to turn it on to enable a meta release. Defaults to false
  • releaser.meta-release.release-train-project-name - Name of the project that represents the BOM of the release train. Defaults to spring-cloud-release
  • releaser.meta-release.git-org-url - The URL of the Git organization. We’ll append each project’s name to it. +Use these properties to provide versions for the meta release.
  • releaser.meta-release.enabled - You have to turn it on to enable a meta release. Defaults to false
  • releaser.meta-release.git-org-url - The URL of the Git organization. We’ll append each project’s name to it. Defaults to https://github.com/spring-cloud
  • releaser.meta-release.projects-to-skip - List of projects that we should not clone and release. Spring Cloud release -train depends on projects that got already released. We default this list to [spring-boot, spring-cloud-stream, spring-cloud-task].
  • releaser.git.fetch-versions-from-git - If true then should fill the map of versions from Git. If false then picks fixed versions
  • releaser.git.clone-destination-dir - Where should the Spring Cloud Release repo get cloned to. If null defaults to a temporary directory
  • releaser.git.spring-cloud-release-git-url - URL to Spring Cloud Release Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-release
  • releaser.git.documentation-url - URL to the documentation Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-static
  • releaser.git.documentation-branch - Branch to check out for the documentation project. Defaults to gh-pages
  • releaser.git.update-documentation-repo - If true then will update documentation repository with the current URL. Defaults to true
  • releaser.git.update-spring-guides - If true then will update Spring Guides with the current release train. Defaults to true
  • releaser.git.oauth-token - GitHub OAuth token to be used to interact with GitHub repo.
  • releaser.git.username - Optional Git username. If not passed keys will be used for authentication.
  • releaser.git.password - Optional Git password. If not passed keys will be used for authentication.
  • releaser.git.number-of-checked-milestones - In order not to iterate endlessly over milestones we introduce a threshold of milestones that -we will go through to find the matching milestone. Defaults to 10
  • releaser.maven.build-command - Command to be executed to build the project. Defaults to ./mvnw clean install -Pdocs
  • releaser.maven.deploy-command - Command to be executed to deploy a built project". Defaults to ./mvnw deploy -DskipTests -Pfast
  • releaser.maven.publish-docs-commands - Command to be executed to deploy a built project. If present {{version}} will be replaced by the proper version. -Defaults to the standard Spring Cloud wget and execution of ghpages.
  • releaser.maven.system-properties - Additional system properties that should be passed to any commands. If present {{systemProps}} will be replaced by the contents of this property.
  • releaser.maven.wait-time-in-minutes - Max wait time in minutes for the process to finish. Defaults to 20
  • releaser.gradle.gradle-props-substitution - a map containing a key which is a property key inside gradle.properties and a value of +train depends on projects that got already released. We default this list to [spring-boot, spring-cloud-stream, spring-cloud-task].

The following properties are used for both meta release and a release of an individual module.

  • releaser.meta-release.release-train-project-name - Name of the project that represents the BOM of the release train. Defaults to spring-cloud-release.
  • releaser.git.fetch-versions-from-git - If true then should fill the map of versions from Git. If false then picks fixed versions.
  • releaser.git.clone-destination-dir - Where should the Spring Cloud Release repo get cloned to. If null defaults to a temporary directory.
  • releaser.git.release-train-bom-url - URL to a project containing a BOM. Defaults to Spring Cloud Release Git repository: https://github.com/spring-cloud/spring-cloud-release.
  • releaser.git.documentation-url - URL to the documentation Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-static.
  • releaser.git.documentation-branch - Branch to check out for the documentation project. Defaults to gh-pages.
  • releaser.git.update-documentation-repo - If true then will update documentation repository with the current URL. Defaults to true.
  • releaser.git.update-spring-guides - If true then will update Spring Guides with the current release train. Defaults to true.
  • releaser.git.oauth-token - GitHub OAuth token to be used to interact with GitHub repo.
  • releaser.git.username - Optional Git username. If not passed keys will be used for authentication.
  • releaser.git.password - Optional Git password. If not passed keys will be used for authentication.
  • releaser.git.number-of-checked-milestones - In order not to iterate endlessly over milestones we introduce a threshold of milestones that +we will go through to find the matching milestone. Defaults to 10.
  • releaser.maven.build-command - Command to be executed to build the project. Defaults to ./mvnw clean install -Pdocs.
  • releaser.maven.deploy-command - Command to be executed to deploy a built project". Defaults to ./mvnw deploy -DskipTests -Pfast.
  • releaser.maven.publish-docs-commands - Command to be executed to deploy a built project. If present {{version}} will be replaced by the proper version. +Defaults to the standard Spring Cloud wget and execution of ghpages.
  • releaser.maven.system-properties - Additional system properties that should be passed to any commands. If present {{systemProps}} will be replaced by the contents of this property.
  • releaser.maven.wait-time-in-minutes - Max wait time in minutes for the process to finish. Defaults to 20.
  • releaser.gradle.gradle-props-substitution - a map containing a key which is a property key inside gradle.properties and a value of a project name. E.g. in gradle.properties you have foo=1.0.0.BUILD-SNAPSHOT and you would like spring-cloud-contract version to be set there. Just provide a mapping for the gradle-props-substition looking like this foo=spring-cloud-contract and the result -(e.g for sc-contract version 2.0.0.RELEASE) will be an updated gradle.properties with entry foo=2.0.0.RELEASE
  • releaser.pom.branch - Which branch of Spring Cloud Release should be checked out. Defaults to "master",
  • releaser.pom.ignored-pom-regex - List of regular expressions of ignored poms. Defaults to test projects and samples. -Example: "--releaser.pom.ignored-pom-regex=".*\\.git/.*$,.{asterisk}spring-cloud-contract-maven-plugin/src/test/projects/.*$,.*spring-cloud-contract-maven-plugin/target/.*$,.*samples/standalone/[a-z]+/.*$"
  • releaser.working-dir - By default Releaser assumes running the program from the current working directory.
  • releaser.template.template-folder - Tells which subfolder with templates to pick for blog, email etc. generation. Defaults to cloud
[Tip]Tip

You can pass the options either via system properties or via application arguments. +(e.g for sc-contract version 2.0.0.RELEASE) will be an updated gradle.properties with entry foo=2.0.0.RELEASE.

  • releaser.pom.branch - Which branch of Spring Cloud Release should be checked out. Defaults to master.
  • releaser.pom.pom-with-boot-starter-parent - What is the location of the pom.xml that contains the spring-boot-starter-parent as its parent pom. Defaults to spring-cloud-starter-parent/pom.xml.
  • releaser.pom.this-train-bom - What is the location of the pom.xml that contains all the versions for the release train. Defaults to spring-cloud-dependencies/pom.xml.
  • releaser.pom.bom-version-pattern - Regular expression that will match the versions of projects in the BOM pom.xml. Defaults to ^(spring-cloud-.*)\.version$.
  • releaser.pom.ignored-pom-regex - List of regular expressions of ignored poms. Defaults to test projects and samples. +Example: "--releaser.pom.ignored-pom-regex=".*\\.git/.*$,.{asterisk}spring-cloud-contract-maven-plugin/src/test/projects/.*$,.*spring-cloud-contract-maven-plugin/target/.*$,.*samples/standalone/[a-z]+/.*$".
  • releaser.working-dir - By default Releaser assumes running the program from the current working directory.
  • releaser.template.template-folder - Tells which subfolder with templates to pick for blog, email etc. generation. Defaults to cloud.
  • [Tip]Tip

    You can pass the options either via system properties or via application arguments. Example for system properties: java -Dreleaser.pom.branch=Camden.SR6 -jar target/spring-cloud-release-tools-spring-1.0.0.M1.jar Example for application arguments: java -jar target/spring-cloud-release-tools-spring-1.0.0.M1.jar --releaser.pom.branch=Camden.SR6

    [Important]Important

    For the GA release to be successful, it’s important that if the build / deploy command run a script (e.g. scripts/foo.sh) then inside foo.sh if you call a Maven build ./mvnw clean install diff --git a/single/spring-cloud-release-tools.html b/single/spring-cloud-release-tools.html index 745da13b..43546c07 100644 --- a/single/spring-cloud-release-tools.html +++ b/single/spring-cloud-release-tools.html @@ -1,7 +1,7 @@ Spring Cloud Release Tools

    Spring Cloud Release Tools


    1. Spring Cloud Release Tools

    Spring Cloud projects reuse the same pattern of building and deploying the applications. That’s -why this tool makes it easy to automate the release / dependency update process of our applications.

    1.1 What does it do?

    1.1.1 Single project

    For a single project

    • Clones the Spring Cloud Release project and picks all versions (Boot + Cloud projects)
    • Modifies the project versions with values from SC-Release

      • throws an exception when we bump versions to release and there’s a SNAPSHOT version referenced in the POM
    • Performs the build and checks if the docs modules have properly created the documentation

      • throws an exception when in the docs module there’s an unresolved tag in any HTML file
    • Commits changed poms (ONLY FOR NON-SNAPSHOT VERSIONS)
    • Creates a tag for the release / milestone (ONLY FOR NON-SNAPSHOT VERSIONS)
    • Runs the deployment of the artifacts
    • Publishes the docs (to spring-cloud-static for non-snapshots, to gh-pages for snapshots)
    • Reverts back to snapshots, bumps the version by a patch (1.0.1.RELEASE1.0.2.BUILD-SNAPSHOT) (ONLY FOR RELEASE VERSIONS)
    • Closes the milestone on Github (e.g. v1.0.1.RELEASE) (ONLY FOR NON-SNAPSHOT VERSIONS)
    [Important]Important

    Starting with version that does Sagan integration, you MUST pass the OAuth token, +why this tool makes it easy to automate the release / dependency update process of our applications.

    1.1 What does it do?

    1.1.1 Single project

    For a single project

    • Clones the Spring Cloud Release project and picks all versions (Boot + Cloud projects)
    • Modifies the project versions with values from a BOM (e.g. for Spring Cloud it’s Spring Cloud Release)

      • throws an exception when we bump versions to release and there’s a SNAPSHOT version referenced in the POM
    • Performs the build and checks if the docs modules have properly created the documentation

      • throws an exception when in the docs module there’s an unresolved tag in any HTML file
    • Commits changed poms (ONLY FOR NON-SNAPSHOT VERSIONS)
    • Creates a tag for the release / milestone (ONLY FOR NON-SNAPSHOT VERSIONS)
    • Runs the deployment of the artifacts
    • Publishes the docs (to spring-cloud-static for non-snapshots, to gh-pages for snapshots)
    • Reverts back to snapshots, bumps the version by a patch (1.0.1.RELEASE1.0.2.BUILD-SNAPSHOT) (ONLY FOR RELEASE VERSIONS)
    • Closes the milestone on Github (e.g. v1.0.1.RELEASE) (ONLY FOR NON-SNAPSHOT VERSIONS)
    [Important]Important

    Starting with version that does Sagan integration, you MUST pass the OAuth token, otherwise the application will fail to start

    After project release

    1.1.2 Meta-release

    • Uses the fixed versions to clone and check out each project (e.g. spring-cloud-sleuth: 2.1.0.RELEASE)
    • From the version analyzes the branch and checks it out. E.g.

      • for spring-cloud-release’s `Finchley.RELEASE version will resolve either Finchley branch or will fallback to master if there’s no Finchley branch.
      • for spring-cloud-sleuth’s `2.1.0.RELEASE version will resolve 2.1.x branch
    • Performs the release tasks per each project
    • Performs the post release tasks at the end of the release
    [Important]Important

    For the meta-releaser to work we assume that the path to the custom configuration file for each project is always config/releaser.yml.

    1.2 What should I do first?

    Members of the Spring Cloud Team typically use this tool as follows. They first clone the releaser locally and build the jar manually

    $ git clone git@github.com:spring-cloud/spring-cloud-release-tools.git
    @@ -113,15 +113,15 @@ in the `--"releaser.fixed-versions[project-name]=project-version" format

    spring-cloud-netflix project,
     or build only tasks with names spring-cloud-build,spring-cloud-sleuth.

    1.6 Project options

    • releaser.fixed-versions - A String to String mapping of manually set versions. E.g. "spring-cloud-cli" → "1.0.0.RELEASE" will set the spring-cloud-cli.version to 1.0.0.RELEASE regardless of what was set in spring-cloud-release project. Example --releaser.fixed-versions[spring-cloud-cli]=1.0.0.RELEASE. -Use these properties to provide versions for the meta release.
    • releaser.meta-release.enabled - You have to turn it on to enable a meta release. Defaults to false
    • releaser.meta-release.release-train-project-name - Name of the project that represents the BOM of the release train. Defaults to spring-cloud-release
    • releaser.meta-release.git-org-url - The URL of the Git organization. We’ll append each project’s name to it. +Use these properties to provide versions for the meta release.
    • releaser.meta-release.enabled - You have to turn it on to enable a meta release. Defaults to false
    • releaser.meta-release.git-org-url - The URL of the Git organization. We’ll append each project’s name to it. Defaults to https://github.com/spring-cloud
    • releaser.meta-release.projects-to-skip - List of projects that we should not clone and release. Spring Cloud release -train depends on projects that got already released. We default this list to [spring-boot, spring-cloud-stream, spring-cloud-task].
    • releaser.git.fetch-versions-from-git - If true then should fill the map of versions from Git. If false then picks fixed versions
    • releaser.git.clone-destination-dir - Where should the Spring Cloud Release repo get cloned to. If null defaults to a temporary directory
    • releaser.git.spring-cloud-release-git-url - URL to Spring Cloud Release Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-release
    • releaser.git.documentation-url - URL to the documentation Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-static
    • releaser.git.documentation-branch - Branch to check out for the documentation project. Defaults to gh-pages
    • releaser.git.update-documentation-repo - If true then will update documentation repository with the current URL. Defaults to true
    • releaser.git.update-spring-guides - If true then will update Spring Guides with the current release train. Defaults to true
    • releaser.git.oauth-token - GitHub OAuth token to be used to interact with GitHub repo.
    • releaser.git.username - Optional Git username. If not passed keys will be used for authentication.
    • releaser.git.password - Optional Git password. If not passed keys will be used for authentication.
    • releaser.git.number-of-checked-milestones - In order not to iterate endlessly over milestones we introduce a threshold of milestones that -we will go through to find the matching milestone. Defaults to 10
    • releaser.maven.build-command - Command to be executed to build the project. Defaults to ./mvnw clean install -Pdocs
    • releaser.maven.deploy-command - Command to be executed to deploy a built project". Defaults to ./mvnw deploy -DskipTests -Pfast
    • releaser.maven.publish-docs-commands - Command to be executed to deploy a built project. If present {{version}} will be replaced by the proper version. -Defaults to the standard Spring Cloud wget and execution of ghpages.
    • releaser.maven.system-properties - Additional system properties that should be passed to any commands. If present {{systemProps}} will be replaced by the contents of this property.
    • releaser.maven.wait-time-in-minutes - Max wait time in minutes for the process to finish. Defaults to 20
    • releaser.gradle.gradle-props-substitution - a map containing a key which is a property key inside gradle.properties and a value of +train depends on projects that got already released. We default this list to [spring-boot, spring-cloud-stream, spring-cloud-task].

    The following properties are used for both meta release and a release of an individual module.

    • releaser.meta-release.release-train-project-name - Name of the project that represents the BOM of the release train. Defaults to spring-cloud-release.
    • releaser.git.fetch-versions-from-git - If true then should fill the map of versions from Git. If false then picks fixed versions.
    • releaser.git.clone-destination-dir - Where should the Spring Cloud Release repo get cloned to. If null defaults to a temporary directory.
    • releaser.git.release-train-bom-url - URL to a project containing a BOM. Defaults to Spring Cloud Release Git repository: https://github.com/spring-cloud/spring-cloud-release.
    • releaser.git.documentation-url - URL to the documentation Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-static.
    • releaser.git.documentation-branch - Branch to check out for the documentation project. Defaults to gh-pages.
    • releaser.git.update-documentation-repo - If true then will update documentation repository with the current URL. Defaults to true.
    • releaser.git.update-spring-guides - If true then will update Spring Guides with the current release train. Defaults to true.
    • releaser.git.oauth-token - GitHub OAuth token to be used to interact with GitHub repo.
    • releaser.git.username - Optional Git username. If not passed keys will be used for authentication.
    • releaser.git.password - Optional Git password. If not passed keys will be used for authentication.
    • releaser.git.number-of-checked-milestones - In order not to iterate endlessly over milestones we introduce a threshold of milestones that +we will go through to find the matching milestone. Defaults to 10.
    • releaser.maven.build-command - Command to be executed to build the project. Defaults to ./mvnw clean install -Pdocs.
    • releaser.maven.deploy-command - Command to be executed to deploy a built project". Defaults to ./mvnw deploy -DskipTests -Pfast.
    • releaser.maven.publish-docs-commands - Command to be executed to deploy a built project. If present {{version}} will be replaced by the proper version. +Defaults to the standard Spring Cloud wget and execution of ghpages.
    • releaser.maven.system-properties - Additional system properties that should be passed to any commands. If present {{systemProps}} will be replaced by the contents of this property.
    • releaser.maven.wait-time-in-minutes - Max wait time in minutes for the process to finish. Defaults to 20.
    • releaser.gradle.gradle-props-substitution - a map containing a key which is a property key inside gradle.properties and a value of a project name. E.g. in gradle.properties you have foo=1.0.0.BUILD-SNAPSHOT and you would like spring-cloud-contract version to be set there. Just provide a mapping for the gradle-props-substition looking like this foo=spring-cloud-contract and the result -(e.g for sc-contract version 2.0.0.RELEASE) will be an updated gradle.properties with entry foo=2.0.0.RELEASE
    • releaser.pom.branch - Which branch of Spring Cloud Release should be checked out. Defaults to "master",
    • releaser.pom.ignored-pom-regex - List of regular expressions of ignored poms. Defaults to test projects and samples. -Example: "--releaser.pom.ignored-pom-regex=".*\\.git/.*$,.{asterisk}spring-cloud-contract-maven-plugin/src/test/projects/.*$,.*spring-cloud-contract-maven-plugin/target/.*$,.*samples/standalone/[a-z]+/.*$"
    • releaser.working-dir - By default Releaser assumes running the program from the current working directory.
    • releaser.template.template-folder - Tells which subfolder with templates to pick for blog, email etc. generation. Defaults to cloud
    [Tip]Tip

    You can pass the options either via system properties or via application arguments. +(e.g for sc-contract version 2.0.0.RELEASE) will be an updated gradle.properties with entry foo=2.0.0.RELEASE.

  • releaser.pom.branch - Which branch of Spring Cloud Release should be checked out. Defaults to master.
  • releaser.pom.pom-with-boot-starter-parent - What is the location of the pom.xml that contains the spring-boot-starter-parent as its parent pom. Defaults to spring-cloud-starter-parent/pom.xml.
  • releaser.pom.this-train-bom - What is the location of the pom.xml that contains all the versions for the release train. Defaults to spring-cloud-dependencies/pom.xml.
  • releaser.pom.bom-version-pattern - Regular expression that will match the versions of projects in the BOM pom.xml. Defaults to ^(spring-cloud-.*)\.version$.
  • releaser.pom.ignored-pom-regex - List of regular expressions of ignored poms. Defaults to test projects and samples. +Example: "--releaser.pom.ignored-pom-regex=".*\\.git/.*$,.{asterisk}spring-cloud-contract-maven-plugin/src/test/projects/.*$,.*spring-cloud-contract-maven-plugin/target/.*$,.*samples/standalone/[a-z]+/.*$".
  • releaser.working-dir - By default Releaser assumes running the program from the current working directory.
  • releaser.template.template-folder - Tells which subfolder with templates to pick for blog, email etc. generation. Defaults to cloud.
  • [Tip]Tip

    You can pass the options either via system properties or via application arguments. Example for system properties: java -Dreleaser.pom.branch=Camden.SR6 -jar target/spring-cloud-release-tools-spring-1.0.0.M1.jar Example for application arguments: java -jar target/spring-cloud-release-tools-spring-1.0.0.M1.jar --releaser.pom.branch=Camden.SR6

    [Important]Important

    For the GA release to be successful, it’s important that if the build / deploy command run a script (e.g. scripts/foo.sh) then inside foo.sh if you call a Maven build ./mvnw clean install diff --git a/spring-cloud-release-tools.xml b/spring-cloud-release-tools.xml index 3b58dd3b..05d76427 100644 --- a/spring-cloud-release-tools.xml +++ b/spring-cloud-release-tools.xml @@ -4,7 +4,7 @@ Spring Cloud Release Tools -2018-10-16 +2018-10-17 Spring Cloud Release Tools @@ -20,7 +20,7 @@ why this tool makes it easy to automate the release / dependency update process Clones the Spring Cloud Release project and picks all versions (Boot + Cloud projects) -Modifies the project versions with values from SC-Release +Modifies the project versions with values from a BOM (e.g. for Spring Cloud it’s Spring Cloud Release) throws an exception when we bump versions to release and there’s a SNAPSHOT version referenced in the POM @@ -297,9 +297,6 @@ Use these properties to provide versions for the meta release. releaser.meta-release.enabled - You have to turn it on to enable a meta release. Defaults to false -releaser.meta-release.release-train-project-name - Name of the project that represents the BOM of the release train. Defaults to spring-cloud-release - - releaser.meta-release.git-org-url - The URL of the Git organization. We’ll append each project’s name to it. Defaults to https://github.com/spring-cloud @@ -307,26 +304,32 @@ Defaults to https://git releaser.meta-release.projects-to-skip - List of projects that we should not clone and release. Spring Cloud release train depends on projects that got already released. We default this list to [spring-boot, spring-cloud-stream, spring-cloud-task]. + +The following properties are used for both meta release and a release of an individual module. + -releaser.git.fetch-versions-from-git - If true then should fill the map of versions from Git. If false then picks fixed versions +releaser.meta-release.release-train-project-name - Name of the project that represents the BOM of the release train. Defaults to spring-cloud-release. -releaser.git.clone-destination-dir - Where should the Spring Cloud Release repo get cloned to. If null defaults to a temporary directory +releaser.git.fetch-versions-from-git - If true then should fill the map of versions from Git. If false then picks fixed versions. -releaser.git.spring-cloud-release-git-url - URL to Spring Cloud Release Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-release +releaser.git.clone-destination-dir - Where should the Spring Cloud Release repo get cloned to. If null defaults to a temporary directory. -releaser.git.documentation-url - URL to the documentation Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-static +releaser.git.release-train-bom-url - URL to a project containing a BOM. Defaults to Spring Cloud Release Git repository: https://github.com/spring-cloud/spring-cloud-release. -releaser.git.documentation-branch - Branch to check out for the documentation project. Defaults to gh-pages +releaser.git.documentation-url - URL to the documentation Git repository. Defaults to https://github.com/spring-cloud/spring-cloud-static. -releaser.git.update-documentation-repo - If true then will update documentation repository with the current URL. Defaults to true +releaser.git.documentation-branch - Branch to check out for the documentation project. Defaults to gh-pages. -releaser.git.update-spring-guides - If true then will update Spring Guides with the current release train. Defaults to true +releaser.git.update-documentation-repo - If true then will update documentation repository with the current URL. Defaults to true. + + +releaser.git.update-spring-guides - If true then will update Spring Guides with the current release train. Defaults to true. releaser.git.oauth-token - GitHub OAuth token to be used to interact with GitHub repo. @@ -339,13 +342,13 @@ train depends on projects that got already released. We default this list to

  • releaser.git.number-of-checked-milestones - In order not to iterate endlessly over milestones we introduce a threshold of milestones that -we will go through to find the matching milestone. Defaults to 10 +we will go through to find the matching milestone. Defaults to 10. -releaser.maven.build-command - Command to be executed to build the project. Defaults to ./mvnw clean install -Pdocs +releaser.maven.build-command - Command to be executed to build the project. Defaults to ./mvnw clean install -Pdocs. -releaser.maven.deploy-command - Command to be executed to deploy a built project". Defaults to ./mvnw deploy -DskipTests -Pfast +releaser.maven.deploy-command - Command to be executed to deploy a built project". Defaults to ./mvnw deploy -DskipTests -Pfast. releaser.maven.publish-docs-commands - Command to be executed to deploy a built project. If present {{version}} will be replaced by the proper version. @@ -355,26 +358,35 @@ Defaults to the standard Spring Cloud wget and execution of ghpages. releaser.maven.system-properties - Additional system properties that should be passed to any commands. If present {{systemProps}} will be replaced by the contents of this property. -releaser.maven.wait-time-in-minutes - Max wait time in minutes for the process to finish. Defaults to 20 +releaser.maven.wait-time-in-minutes - Max wait time in minutes for the process to finish. Defaults to 20. releaser.gradle.gradle-props-substitution - a map containing a key which is a property key inside gradle.properties and a value of a project name. E.g. in gradle.properties you have foo=1.0.0.BUILD-SNAPSHOT and you would like spring-cloud-contract version to be set there. Just provide a mapping for the gradle-props-substition looking like this foo=spring-cloud-contract and the result -(e.g for sc-contract version 2.0.0.RELEASE) will be an updated gradle.properties with entry foo=2.0.0.RELEASE +(e.g for sc-contract version 2.0.0.RELEASE) will be an updated gradle.properties with entry foo=2.0.0.RELEASE. -releaser.pom.branch - Which branch of Spring Cloud Release should be checked out. Defaults to "master", +releaser.pom.branch - Which branch of Spring Cloud Release should be checked out. Defaults to master. + + +releaser.pom.pom-with-boot-starter-parent - What is the location of the pom.xml that contains the spring-boot-starter-parent as its parent pom. Defaults to spring-cloud-starter-parent/pom.xml. + + +releaser.pom.this-train-bom - What is the location of the pom.xml that contains all the versions for the release train. Defaults to spring-cloud-dependencies/pom.xml. + + +releaser.pom.bom-version-pattern - Regular expression that will match the versions of projects in the BOM pom.xml. Defaults to ^(spring-cloud-.*)\.version$. releaser.pom.ignored-pom-regex - List of regular expressions of ignored poms. Defaults to test projects and samples. -Example: "--releaser.pom.ignored-pom-regex=".*\\.git/.*$,.{asterisk}spring-cloud-contract-maven-plugin/src/test/projects/.*$,.*spring-cloud-contract-maven-plugin/target/.*$,.*samples/standalone/[a-z]+/.*$" +Example: "--releaser.pom.ignored-pom-regex=".*\\.git/.*$,.{asterisk}spring-cloud-contract-maven-plugin/src/test/projects/.*$,.*spring-cloud-contract-maven-plugin/target/.*$,.*samples/standalone/[a-z]+/.*$". releaser.working-dir - By default Releaser assumes running the program from the current working directory. -releaser.template.template-folder - Tells which subfolder with templates to pick for blog, email etc. generation. Defaults to cloud +releaser.template.template-folder - Tells which subfolder with templates to pick for blog, email etc. generation. Defaults to cloud.