From b896a862c224526f2b9d565635c84dbe6295e08d Mon Sep 17 00:00:00 2001 From: Ryan Baxter <524254+ryanjbaxter@users.noreply.github.com> Date: Sun, 14 Jul 2024 15:46:44 -0400 Subject: [PATCH] Updating readme --- README.adoc | 180 +++++++++++++++++------ docs/src/main/asciidoc/README.adoc | 4 +- docs/src/main/asciidoc/_configprops.adoc | 110 ++++++++------ 3 files changed, 200 insertions(+), 94 deletions(-) diff --git a/README.adoc b/README.adoc index 80c217a6..8f4b5433 100644 --- a/README.adoc +++ b/README.adoc @@ -543,21 +543,39 @@ Below you can find a table with all the releaser options. |=== |Name | Default | Description -|releaser.bash.build-command | `echo "{{systemProps}}"` | Command to be executed to build the project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.bash.deploy-command | `echo "{{systemProps}}"` | Command to be executed to deploy a built project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.bash.deploy-guides-command | `echo "{{systemProps}}"` | Command to be executed to build and deploy guides project only. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.bash.generate-release-train-docs-command | `echo "{{version}}"` | Command to be executed to generate release train documentation. -|releaser.bash.publish-docs-command | `mkdir -p target && echo "{{version}}"` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.antora.spring-docs-actions-tag | | Tag for Spring Docs Actions repo. +|releaser.antora.spring-docs-actions-url | | URL to Spring Docs Actions repo. +|releaser.antora.spring-docs-ssh-host-key | | +|releaser.antora.spring-docs-ssh-key-path | | +|releaser.antora.spring-docs-ssh-username | | +|releaser.antora.sync-antora-docs-command | | Command to sync Antora docs. +|releaser.bash.build-command | `+++echo "{{systemProps}}"+++` | Command to be executed to build the project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.bash.deploy-command | `+++echo "{{systemProps}}"+++` | Command to be executed to deploy a built project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.bash.deploy-guides-command | `+++echo "{{systemProps}}"+++` | Command to be executed to build and deploy guides project only. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.bash.generate-release-train-docs-command | `+++echo "{{version}}"+++` | Command to be executed to generate release train documentation. +|releaser.bash.publish-docs-command | `+++mkdir -p target && echo "{{version}}"+++` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. |releaser.bash.system-properties | | Additional system properties that should be passed to the build / deploy commands. If present in other commands "{{systemProps}}" will be substituted with this property. -|releaser.bash.wait-time-in-minutes | `20` | Max wait time in minutes for the process to finish. +|releaser.bash.wait-time-in-minutes | `+++20+++` | Max wait time in minutes for the process to finish. +|releaser.bundles.create-project-release-bundle | `+++false+++` | +|releaser.bundles.create-release-train-release-bundle | `+++false+++` | +|releaser.bundles.distribute-project-release-bundle | `+++false+++` | +|releaser.bundles.distribute-release-train-source-bundle | `+++false+++` | +|releaser.bundles.repo-access-token | | +|releaser.bundles.repo-url | `+++https://usw1.packages.broadcom.com+++` | +|releaser.bundles.repo-username | | +|releaser.bundles.repos | | +|releaser.commercial | `+++false+++` | |releaser.fixed-versions | | Project name to its version - overrides all versions retrieved from a release train repository like Spring Cloud Release. -|releaser.flow.default-enabled | `true` | Should the default flow of jobs be preserved. If set to {@code false} will not register any jobs as beans, and it will be up to you to set the whole configuration of jobs. +|releaser.flow.default-enabled | `+++true+++` | Should the default flow of jobs be preserved. If set to {@code false} will not register any jobs as beans, and it will be up to you to set the whole configuration of jobs. |releaser.git.all-test-sample-urls | | Project to urls mapping. For each project will clone the test project and will update its versions. +|releaser.git.cache-directory | | Absolute path to a directory with cache for OkHTTP calls to GitHub. |releaser.git.clone-destination-dir | | Where should the release train repo get cloned to. If {@code null} defaults to a temporary directory. +|releaser.git.create-release-notes-for-milestone | `+++false+++` | If set to {@code false}, will not create release notes for milestone. |releaser.git.documentation-branch | | Branch to check out for the documentation project. |releaser.git.documentation-url | | URL to the documentation Git repository. -|releaser.git.fetch-versions-from-git | `true` | If {@code true} then should fill the map of versions from Git. If {@code false} then picks fixed versions. -|releaser.git.number-of-checked-milestones | `50` | In order not to iterate endlessly over milestones we introduce a threshold of milestones that we will go through to find the matching milestone. +|releaser.git.fetch-versions-from-git | `+++true+++` | If {@code true} then should fill the map of versions from Git. If {@code false} then picks fixed versions. +|releaser.git.github-changelog-generator-url | `+++https://github.com/spring-io/github-changelog-generator/releases/download/v0.0.8/github-changelog-generator.jar+++` | URL to the fat jar with Github Changelog Generator. +|releaser.git.number-of-checked-milestones | `+++50+++` | In order not to iterate endlessly over milestones we introduce a threshold of milestones that we will go through to find the matching milestone. |releaser.git.oauth-token | | GitHub OAuth token to be used to interact with GitHub repo. |releaser.git.org-name | | The organization name on Github. |releaser.git.password | | Optional Git password. If not passed keys will be used for authentication. @@ -567,59 +585,61 @@ Below you can find a table with all the releaser options. |releaser.git.release-train-docs-url | | URL to the release train documentation. |releaser.git.release-train-wiki-page-prefix | | Page prefix for the release train wiki. E.g. for [Spring-Cloud-Finchley-Release-Notes] it would be [Spring-Cloud]. |releaser.git.release-train-wiki-url | | URL to the release train wiki. -|releaser.git.run-updated-samples | `false` | If set to {@code false}, will not update the test samples. +|releaser.git.run-updated-samples | `+++false+++` | If set to {@code false}, will not update the test samples. |releaser.git.spring-project-branch | | Branch to check out for the release train project. |releaser.git.spring-project-url | | URL to the release train project page repository. |releaser.git.test-samples-branch | | Branch to check out for the test samples. |releaser.git.test-samples-project-url | | URL to test samples. -|releaser.git.update-all-test-samples | `false` | If set to {@code false}, will not clone and update the samples for all projects. -|releaser.git.update-documentation-repo | `false` | If {@code false}, will not update the documentation repository. -|releaser.git.update-github-milestones | `false` | If set to {@code false}, will not update Github milestones. -|releaser.git.update-release-train-docs | `false` | If set to {@code false}, will not update the release train docs. -|releaser.git.update-release-train-wiki | `false` | If set to {@code false}, will not clone and update the release train wiki. -|releaser.git.update-spring-guides | `false` | If set to {@code false}, will not update Spring Guides for a release train. -|releaser.git.update-spring-project | `false` | If set to {@code false}, will not update the Spring Project for a release train. E.g. for Spring Cloud will not update https://cloud.spring.io . -|releaser.git.update-start-spring-io | `false` | If set to {@code false}, will not update start.spring.io for a release train. +|releaser.git.update-all-test-samples | `+++false+++` | If set to {@code false}, will not clone and update the samples for all projects. +|releaser.git.update-documentation-repo | `+++false+++` | If {@code false}, will not update the documentation repository. +|releaser.git.update-github-milestones | `+++false+++` | If set to {@code false}, will not update Github milestones. +|releaser.git.update-release-train-docs | `+++false+++` | If set to {@code false}, will not update the release train docs. +|releaser.git.update-release-train-wiki | `+++false+++` | If set to {@code false}, will not clone and update the release train wiki. +|releaser.git.update-spring-guides | `+++false+++` | If set to {@code false}, will not update Spring Guides for a release train. +|releaser.git.update-spring-project | `+++false+++` | If set to {@code false}, will not update the Spring Project for a release train. E.g. for Spring Cloud will not update https://cloud.spring.io . +|releaser.git.update-start-spring-io | `+++false+++` | If set to {@code false}, will not update start.spring.io for a release train. |releaser.git.username | | Optional Git username. If not passed keys will be used for authentication. -|releaser.gradle.build-command | `./gradlew clean build publishToMavenLocal --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to build the project If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.gradle.deploy-command | `./gradlew publish --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to deploy a built project. -|releaser.gradle.deploy-guides-command | `./gradlew clean build deployGuides --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to build and deploy guides project only. -|releaser.gradle.generate-release-train-docs-command | `./gradlew generateReleaseTrainDocs --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to generate release train documentation. -|releaser.gradle.gradle-props-substitution | | A mapping that should be applied to {@code gradle.properties} in order to perform a substitution of properties. The mapping is from a property inside {@code gradle.properties} to the projects name. Example. In {@code gradle.properties} you have {@code verifierVersion=1.0.0} . You want this property to get updated with the value of {@code spring-cloud-contract} version. Then it's enough to do the mapping like this for this Releaser's property: {@code verifierVersion=spring-cloud-contract}. +|releaser.gradle.build-command | `+++./gradlew clean build publishToMavenLocal --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to build the project If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.gradle.deploy-command | `+++./gradlew publish --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to deploy a built project. +|releaser.gradle.deploy-guides-command | `+++./gradlew clean build deployGuides --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to build and deploy guides project only. +|releaser.gradle.generate-release-train-docs-command | `+++./gradlew generateReleaseTrainDocs --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to generate release train documentation. +|releaser.gradle.gradle-props-substitution | | A mapping that should be applied to {@code gradle.properties} in order to perform a substitution of properties. The mapping is from a property inside {@code gradle.properties} to the projects name. Example.

In {@code gradle.properties} you have {@code verifierVersion=1.0.0} . You want this property to get updated with the value of {@code spring-cloud-contract} version. Then it's enough to do the mapping like this for this Releaser's property: {@code verifierVersion=spring-cloud-contract}. |releaser.gradle.ignored-gradle-regex | | List of regular expressions of ignored gradle props. Defaults to test projects and samples. -|releaser.gradle.publish-docs-command | `./gradlew publishDocs --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. +|releaser.gradle.publish-docs-command | `+++./gradlew publishDocs --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. +|releaser.gradle.run-antora-command | `+++./gradlew antora {{systemProps}}+++` | Command to be executed to run Antora. |releaser.gradle.system-properties | | Additional system properties that should be passed to the build / deploy commands. If present in other commands "{{systemProps}}" will be substituted with this property. -|releaser.gradle.wait-time-in-minutes | `20` | Max wait time in minutes for the process to finish. -|releaser.maven.build-command | `./mvnw clean install -B -Pdocs {{systemProps}}` | Command to be executed to build the project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.maven.deploy-command | `./mvnw deploy -DskipTests -B -Pfast,deploy {{systemProps}}` | Command to be executed to deploy a built project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.maven.deploy-guides-command | `./mvnw clean verify deploy -B -Pguides,integration -pl guides {{systemProps}}` | Command to be executed to build and deploy guides project only. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.maven.generate-release-train-docs-command | `bash release_train.sh --retrieveversions --version {{version}} --ghpages --auto` | Command to be executed to generate release train documentation. -|releaser.maven.publish-docs-command | `./mvnw deploy -DskipTests -B -Pfast,deploy,docs -pl docs {{systemProps}}` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. +|releaser.gradle.wait-time-in-minutes | `+++20+++` | Max wait time in minutes for the process to finish. +|releaser.maven.build-command | `+++./mvnw clean install -B -Pdocs {{systemProps}}+++` | Command to be executed to build the project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.maven.deploy-command | `+++./mvnw deploy -DskipTests -B -Pfast,deploy {{systemProps}}+++` | Command to be executed to deploy a built project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.maven.deploy-guides-command | `+++./mvnw clean verify deploy -B -Pguides,integration -pl guides {{systemProps}}+++` | Command to be executed to build and deploy guides project only. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.maven.generate-release-train-docs-command | `+++bash release_train.sh --retrieveversions --version {{version}} --ghpages --auto+++` | Command to be executed to generate release train documentation. +|releaser.maven.publish-docs-command | `+++./mvnw deploy -DskipTests -B -Pfast,deploy,docs -pl docs {{systemProps}}+++` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. +|releaser.maven.run-antora-command | `+++./mvnw antora -Pdocs {{systemProps}}+++` | Command to be executed to run Antora. |releaser.maven.system-properties | | Additional system properties that should be passed to the build / deploy commands. If present in other commands "{{systemProps}}" will be substituted with this property. -|releaser.maven.wait-time-in-minutes | `20` | Max wait time in minutes for the process to finish. -|releaser.meta-release.enabled | `false` | Are we releasing the whole suite of apps or only one? +|releaser.maven.wait-time-in-minutes | `+++20+++` | Max wait time in minutes for the process to finish. +|releaser.meta-release.enabled | `+++false+++` | Are we releasing the whole suite of apps or only one? |releaser.meta-release.git-org-url | | The URL of the Git organization. We'll append each project's name to it. |releaser.meta-release.projects-to-skip | | Names of projects to skip deployment for meta-release. -|releaser.meta-release.release-group-thread-count | `4` | Number of threads per release group. E.g. for thread count of 4 if there are 6 projects in a release group, 4 of them will be executed in parallel and 2 will wait for their turn. -|releaser.meta-release.release-group-timeout-in-minutes | `180` | Timeout in minutes during which we're waiting for a single composite task per a project to be executed. That means that if set to e.g. 180 then a release process for a single project should take at most 180 minutes. +|releaser.meta-release.release-group-thread-count | `+++4+++` | Number of threads per release group. E.g. for thread count of 4 if there are 6 projects in a release group, 4 of them will be executed in parallel and 2 will wait for their turn. +|releaser.meta-release.release-group-timeout-in-minutes | `+++180+++` | Timeout in minutes during which we're waiting for a single composite task per a project to be executed. That means that if set to e.g. 180 then a release process for a single project should take at most 180 minutes. |releaser.meta-release.release-groups | | If provided, allows to provide groups of projects that can be ran in parallel. E.g. {@code --releaser.meta-release.release-groups[0]=projectA,projectB,projectC} {@code --releaser.meta-release.release-groups[1]=projectD,projectE} {@code --releaser.meta-release.release-groups[2]=projectF,projectG} The order is still provided by the list of versions passed to the releaser. Basing on that order, and this value we are able to build a flow with projects. |releaser.meta-release.release-train-dependency-names | | All the names of dependencies that should be updated with the release train project version. |releaser.meta-release.release-train-project-name | | Name of the release train project. |releaser.pom.bom-version-pattern | | The pattern to match a version property in a BOM. Remember to catch the dependency name in a group. E.g. "^(spring-cloud-.*)\\.version$". -|releaser.pom.branch | `main` | Which branch of release train BOM should be checked out. Defaults to {@code main}. -|releaser.pom.ignored-pom-regex | `^.*\.git/.*$` | List of regular expressions of ignored poms. Defaults to test projects and samples. +|releaser.pom.branch | `+++main+++` | Which branch of release train BOM should be checked out. Defaults to {@code main}. +|releaser.pom.ignored-pom-regex | `+++^.*\.git/.*$+++` | List of regular expressions of ignored poms. Defaults to test projects and samples. |releaser.pom.pom-with-boot-starter-parent | | Subfolder of the pom that contains the {@code spring-boot-starer-parent} dependency. |releaser.pom.this-train-bom | | Subfolder of the pom that contains the versions for the release train. -|releaser.post-release-tasks-only | `false` | If set to {@code true} will run only post release tasks. -|releaser.sagan.base-url | `https://spring.io` | URL to the Sagan API. -|releaser.sagan.boot-section-file-name | `sagan-boot.adoc` | Name of the ascii doc file with boot part of this project's Sagan project page. Linked with {@link this#docsAdocsFile}. -|releaser.sagan.docs-adocs-file | `docs/src/main/asciidoc` | Folder with asciidoctor files for docs. -|releaser.sagan.index-section-file-name | `sagan-index.adoc` | Name of the ascii doc file with core part of this project's Sagan project page. Linked with {@link this#docsAdocsFile}. -|releaser.sagan.update-sagan | `false` | If set to {@code false} will not update Sagan. -|releaser.skip-post-release-tasks | `false` | If set to {@code true} will not run post release tasks. -|releaser.template.enabled | `false` | Should template generation be enabled. +|releaser.post-release-tasks-only | `+++false+++` | If set to {@code true} will run only post release tasks. +|releaser.sagan.base-url | `+++https://api.spring.io+++` | URL to the Sagan API. +|releaser.sagan.boot-section-file-name | `+++sagan-boot.adoc+++` | Name of the ascii doc file with boot part of this project's Sagan project page. Linked with {@link this#docsAdocsFile}. +|releaser.sagan.docs-adocs-file | `+++docs/src/main/asciidoc+++` | Folder with asciidoctor files for docs. +|releaser.sagan.index-section-file-name | `+++sagan-index.adoc+++` | Name of the ascii doc file with core part of this project's Sagan project page. Linked with {@link this#docsAdocsFile}. +|releaser.sagan.update-sagan | `+++false+++` | If set to {@code false} will not update Sagan. +|releaser.skip-post-release-tasks | `+++false+++` | If set to {@code true} will not run post release tasks. +|releaser.template.enabled | `+++false+++` | Should template generation be enabled. |releaser.template.template-folder | | Folder in which blog, email etc. templates are stored. -|releaser.versions.all-versions-file-url | `https://raw.githubusercontent.com/spring-io/start.spring.io/master/start-site/src/main/resources/application.yml` | Url to a file containing all the versions. Defaults to YAML from start.spring.io. +|releaser.versions.all-versions-file-url | `+++https://raw.githubusercontent.com/spring-io/start.spring.io/master/start-site/src/main/resources/application.yml+++` | Url to a file containing all the versions. Defaults to YAML from start.spring.io. |releaser.versions.bom-name | | Name in the YAML from initilizr for BOM mappings. |releaser.working-dir | | By default Releaser assumes running the program from the current working directory. If you want to change this behaviour - just change this value. @@ -923,6 +943,72 @@ image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-release-tools . Clear the Start_From field . Click Rebuild +=== Commercial Releases + +See https://docs.google.com/document/d/10pk6b2Cy0OW9fzFKEHSRIys-2Z_rseqnu7CIYFXnJoM/edit#heading=h.slor8nyo3f1n[this document] from Trevor for more information on the requirement to create release bundles +and distribute the release artifacts to the edge repository. + +==== Creating and Distributing Release Bundles + +The releaser will create release bundles for individual project releases as well as when doing a release for the entire release train. + +Release bundles and distribution of those bundles are disabled by default. + +To enable the creation of project release bundles set `releaser.bundles.create-project-release-bundle=true`. + +The task which creates individual project release bundles, `CreateProjectReleaseBundlePostReleaseTask`, is run when doing a +release of an individual project AND when doing a release train release. + +To enable the creation of release train release bundles set `releaser.bundles.distribute-release-train-source-bundle`. + +The task which creates a release train source bundle, `CreateReleaseTrainReleaseBundlePostReleaseTask`, is run as a release train +`PostReleaseTask`. + +To distribute a project release bundle to the edge repo you must set `releaser.bundles.distribute-project-release-bundle=true`. + +The task which distributes the release bundle to the edge repo, `DistributeProjectReleaseBundleTask`, runs as a project post release +task and runs after `CreateProjectReleaseBundlePostReleaseTask`. Unlike `CreateProjectReleaseBundlePostReleaseTask`, `DistributeProjectReleaseBundleTask` +*should not* be run during a release train release. This is because distributing the release train source release bundle will take care of +distributing all the individual project release bundles. + +To distribute a release train source bundle to the edge repo you must set `releaser.bundles.distribute-release-train-source-bundle=true`. + +The task which distributes release train release source bundles, `DistributeReleaseTrainSourceBundleTask`, runs as a release train post +release task. + +*Release bundles and distribution of those bundles only occurs `releaser.commercial=true`, it is not a snapshot release, and is not a dry run.* + +NOTE: Distribution of release bundles to the edge repo can only be done on a CI system like Jenkins. + + +==== Creating and Distributing Release Bundles On Jenkins + +Our Jenkins jobs have been updated to allow the creation and distribution of release bundles for commercial releases. + +When releasing individual projects you will see 2 new post release tasks in the job options + +image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-release-tools/main/docs/src/main/asciidoc/images/project_release_bundles.png[Project Release Bundles] + +When these options are checked the correct properties will be passed to the releaser when run to create and distribute release bundles for an individual project release. + +If you just want to create and distribute the release bundles for an individual project without doing an entire release make sure the two check boxes are checked and then +add `createReleaseBundle,distributeProjectReleaseBundleTask` in the `TASK_NAMES` field and specify the `RELEASE_VERSION` you want to create and distribute the release bundles for. + +Similar options exist for the Jenkins jobs for the meta-release. + +image::https://raw.githubusercontent.com/spring-cloud/spring-cloud-release-tools/main/docs/src/main/asciidoc/images/meta_release_release_bundles.png[Release Train Source Release Bundles] + +If you just want to create the release train source release bundles and distribute them without doing an entire release you can select `RELEASER_POST_RELEASE_ONLY`, uncheck the other post +release tasks in the job configuration, but leaving `RELEASER_PUBLISH_RELEASE_BUNDLES` and `DISTRIBUTE_RELEASE_BUNDLES` checked. + +==== Verify Distribution Of Artifacts + +Packages will be distributed to the edge repo at https://packages.broadcom.com/artifactory/spring-enterprise/org/springframework/cloud/[https://packages.broadcom.com/artifactory/spring-enterprise/org/springframework/cloud/]. +To authenticate to that repo and verify the artifacts are present follow the instructions here[https://docs.vmware.com/en/Tanzu-Spring-Runtime/Commercial/Tanzu-Spring-Runtime/guide-artifact-repository-administrators.html#access-commercial-subscription]. + +NOTE: For Broadcom employees access to the Broadcom Customer Support Portal can be found under Okta. + + == Contributing :spring-cloud-build-branch: master @@ -942,7 +1028,7 @@ author credit if we do. Active contributors might be asked to join the core tea given the ability to merge pull requests. === Code of Conduct -This project adheres to the Contributor Covenant https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/asciidoc/code-of-conduct.adoc[code of +This project adheres to the Contributor Covenant https://github.com/spring-cloud/spring-cloud-build/blob/{spring-cloud-build-branch}/docs/src/main/asciidoc/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. @@ -953,7 +1039,7 @@ added after the original pull request but before a merge. * Use the Spring Framework code format conventions. If you use Eclipse you can import formatter settings using the `eclipse-code-formatter.xml` file from the - https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/master/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring + https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/{spring-cloud-build-branch}/spring-cloud-dependencies-parent/eclipse-code-formatter.xml[Spring Cloud Build] project. If using IntelliJ, you can use the https://plugins.jetbrains.com/plugin/6546[Eclipse Code Formatter Plugin] to import the same file. diff --git a/docs/src/main/asciidoc/README.adoc b/docs/src/main/asciidoc/README.adoc index c04771ab..c3726d5e 100644 --- a/docs/src/main/asciidoc/README.adoc +++ b/docs/src/main/asciidoc/README.adoc @@ -9,7 +9,7 @@ include::spring-cloud-release-tools.adoc[] == Building -include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/docs/src/main/asciidoc/building.adoc[] +include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/4.0.x/docs/src/main/asciidoc/building.adoc[] IMPORTANT: There are 2 different versions of language level used in Spring Cloud Sleuth. Java 1.7 is used for main sources and Java 1.8 is used for tests. @@ -22,4 +22,4 @@ include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-release-too == Contributing -include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/main/docs/src/main/asciidoc/contributing.adoc[] +include::https://raw.githubusercontent.com/spring-cloud/spring-cloud-build/4.0.x/docs/src/main/asciidoc/contributing.adoc[] diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc index 303a1ead..6749e8c1 100644 --- a/docs/src/main/asciidoc/_configprops.adoc +++ b/docs/src/main/asciidoc/_configprops.adoc @@ -1,21 +1,39 @@ |=== |Name | Default | Description -|releaser.bash.build-command | `echo "{{systemProps}}"` | Command to be executed to build the project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.bash.deploy-command | `echo "{{systemProps}}"` | Command to be executed to deploy a built project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.bash.deploy-guides-command | `echo "{{systemProps}}"` | Command to be executed to build and deploy guides project only. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.bash.generate-release-train-docs-command | `echo "{{version}}"` | Command to be executed to generate release train documentation. -|releaser.bash.publish-docs-command | `mkdir -p target && echo "{{version}}"` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.antora.spring-docs-actions-tag | | Tag for Spring Docs Actions repo. +|releaser.antora.spring-docs-actions-url | | URL to Spring Docs Actions repo. +|releaser.antora.spring-docs-ssh-host-key | | +|releaser.antora.spring-docs-ssh-key-path | | +|releaser.antora.spring-docs-ssh-username | | +|releaser.antora.sync-antora-docs-command | | Command to sync Antora docs. +|releaser.bash.build-command | `+++echo "{{systemProps}}"+++` | Command to be executed to build the project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.bash.deploy-command | `+++echo "{{systemProps}}"+++` | Command to be executed to deploy a built project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.bash.deploy-guides-command | `+++echo "{{systemProps}}"+++` | Command to be executed to build and deploy guides project only. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.bash.generate-release-train-docs-command | `+++echo "{{version}}"+++` | Command to be executed to generate release train documentation. +|releaser.bash.publish-docs-command | `+++mkdir -p target && echo "{{version}}"+++` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. |releaser.bash.system-properties | | Additional system properties that should be passed to the build / deploy commands. If present in other commands "{{systemProps}}" will be substituted with this property. -|releaser.bash.wait-time-in-minutes | `20` | Max wait time in minutes for the process to finish. +|releaser.bash.wait-time-in-minutes | `+++20+++` | Max wait time in minutes for the process to finish. +|releaser.bundles.create-project-release-bundle | `+++false+++` | +|releaser.bundles.create-release-train-release-bundle | `+++false+++` | +|releaser.bundles.distribute-project-release-bundle | `+++false+++` | +|releaser.bundles.distribute-release-train-source-bundle | `+++false+++` | +|releaser.bundles.repo-access-token | | +|releaser.bundles.repo-url | `+++https://usw1.packages.broadcom.com+++` | +|releaser.bundles.repo-username | | +|releaser.bundles.repos | | +|releaser.commercial | `+++false+++` | |releaser.fixed-versions | | Project name to its version - overrides all versions retrieved from a release train repository like Spring Cloud Release. -|releaser.flow.default-enabled | `true` | Should the default flow of jobs be preserved. If set to {@code false} will not register any jobs as beans, and it will be up to you to set the whole configuration of jobs. +|releaser.flow.default-enabled | `+++true+++` | Should the default flow of jobs be preserved. If set to {@code false} will not register any jobs as beans, and it will be up to you to set the whole configuration of jobs. |releaser.git.all-test-sample-urls | | Project to urls mapping. For each project will clone the test project and will update its versions. +|releaser.git.cache-directory | | Absolute path to a directory with cache for OkHTTP calls to GitHub. |releaser.git.clone-destination-dir | | Where should the release train repo get cloned to. If {@code null} defaults to a temporary directory. +|releaser.git.create-release-notes-for-milestone | `+++false+++` | If set to {@code false}, will not create release notes for milestone. |releaser.git.documentation-branch | | Branch to check out for the documentation project. |releaser.git.documentation-url | | URL to the documentation Git repository. -|releaser.git.fetch-versions-from-git | `true` | If {@code true} then should fill the map of versions from Git. If {@code false} then picks fixed versions. -|releaser.git.number-of-checked-milestones | `50` | In order not to iterate endlessly over milestones we introduce a threshold of milestones that we will go through to find the matching milestone. +|releaser.git.fetch-versions-from-git | `+++true+++` | If {@code true} then should fill the map of versions from Git. If {@code false} then picks fixed versions. +|releaser.git.github-changelog-generator-url | `+++https://github.com/spring-io/github-changelog-generator/releases/download/v0.0.8/github-changelog-generator.jar+++` | URL to the fat jar with Github Changelog Generator. +|releaser.git.number-of-checked-milestones | `+++50+++` | In order not to iterate endlessly over milestones we introduce a threshold of milestones that we will go through to find the matching milestone. |releaser.git.oauth-token | | GitHub OAuth token to be used to interact with GitHub repo. |releaser.git.org-name | | The organization name on Github. |releaser.git.password | | Optional Git password. If not passed keys will be used for authentication. @@ -25,59 +43,61 @@ |releaser.git.release-train-docs-url | | URL to the release train documentation. |releaser.git.release-train-wiki-page-prefix | | Page prefix for the release train wiki. E.g. for [Spring-Cloud-Finchley-Release-Notes] it would be [Spring-Cloud]. |releaser.git.release-train-wiki-url | | URL to the release train wiki. -|releaser.git.run-updated-samples | `false` | If set to {@code false}, will not update the test samples. +|releaser.git.run-updated-samples | `+++false+++` | If set to {@code false}, will not update the test samples. |releaser.git.spring-project-branch | | Branch to check out for the release train project. |releaser.git.spring-project-url | | URL to the release train project page repository. |releaser.git.test-samples-branch | | Branch to check out for the test samples. |releaser.git.test-samples-project-url | | URL to test samples. -|releaser.git.update-all-test-samples | `false` | If set to {@code false}, will not clone and update the samples for all projects. -|releaser.git.update-documentation-repo | `false` | If {@code false}, will not update the documentation repository. -|releaser.git.update-github-milestones | `false` | If set to {@code false}, will not update Github milestones. -|releaser.git.update-release-train-docs | `false` | If set to {@code false}, will not update the release train docs. -|releaser.git.update-release-train-wiki | `false` | If set to {@code false}, will not clone and update the release train wiki. -|releaser.git.update-spring-guides | `false` | If set to {@code false}, will not update Spring Guides for a release train. -|releaser.git.update-spring-project | `false` | If set to {@code false}, will not update the Spring Project for a release train. E.g. for Spring Cloud will not update https://cloud.spring.io . -|releaser.git.update-start-spring-io | `false` | If set to {@code false}, will not update start.spring.io for a release train. +|releaser.git.update-all-test-samples | `+++false+++` | If set to {@code false}, will not clone and update the samples for all projects. +|releaser.git.update-documentation-repo | `+++false+++` | If {@code false}, will not update the documentation repository. +|releaser.git.update-github-milestones | `+++false+++` | If set to {@code false}, will not update Github milestones. +|releaser.git.update-release-train-docs | `+++false+++` | If set to {@code false}, will not update the release train docs. +|releaser.git.update-release-train-wiki | `+++false+++` | If set to {@code false}, will not clone and update the release train wiki. +|releaser.git.update-spring-guides | `+++false+++` | If set to {@code false}, will not update Spring Guides for a release train. +|releaser.git.update-spring-project | `+++false+++` | If set to {@code false}, will not update the Spring Project for a release train. E.g. for Spring Cloud will not update https://cloud.spring.io . +|releaser.git.update-start-spring-io | `+++false+++` | If set to {@code false}, will not update start.spring.io for a release train. |releaser.git.username | | Optional Git username. If not passed keys will be used for authentication. -|releaser.gradle.build-command | `./gradlew clean build publishToMavenLocal --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to build the project If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.gradle.deploy-command | `./gradlew publish --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to deploy a built project. -|releaser.gradle.deploy-guides-command | `./gradlew clean build deployGuides --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to build and deploy guides project only. -|releaser.gradle.generate-release-train-docs-command | `./gradlew generateReleaseTrainDocs --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to generate release train documentation. -|releaser.gradle.gradle-props-substitution | | A mapping that should be applied to {@code gradle.properties} in order to perform a substitution of properties. The mapping is from a property inside {@code gradle.properties} to the projects name. Example. In {@code gradle.properties} you have {@code verifierVersion=1.0.0} . You want this property to get updated with the value of {@code spring-cloud-contract} version. Then it's enough to do the mapping like this for this Releaser's property: {@code verifierVersion=spring-cloud-contract}. +|releaser.gradle.build-command | `+++./gradlew clean build publishToMavenLocal --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to build the project If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.gradle.deploy-command | `+++./gradlew publish --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to deploy a built project. +|releaser.gradle.deploy-guides-command | `+++./gradlew clean build deployGuides --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to build and deploy guides project only. +|releaser.gradle.generate-release-train-docs-command | `+++./gradlew generateReleaseTrainDocs --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to generate release train documentation. +|releaser.gradle.gradle-props-substitution | | A mapping that should be applied to {@code gradle.properties} in order to perform a substitution of properties. The mapping is from a property inside {@code gradle.properties} to the projects name. Example.

In {@code gradle.properties} you have {@code verifierVersion=1.0.0} . You want this property to get updated with the value of {@code spring-cloud-contract} version. Then it's enough to do the mapping like this for this Releaser's property: {@code verifierVersion=spring-cloud-contract}. |releaser.gradle.ignored-gradle-regex | | List of regular expressions of ignored gradle props. Defaults to test projects and samples. -|releaser.gradle.publish-docs-command | `./gradlew publishDocs --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. +|releaser.gradle.publish-docs-command | `+++./gradlew publishDocs --console=plain -PnextVersion={{nextVersion}} -PoldVersion={{oldVersion}} -PcurrentVersion={{version}} {{systemProps}}+++` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. +|releaser.gradle.run-antora-command | `+++./gradlew antora {{systemProps}}+++` | Command to be executed to run Antora. |releaser.gradle.system-properties | | Additional system properties that should be passed to the build / deploy commands. If present in other commands "{{systemProps}}" will be substituted with this property. -|releaser.gradle.wait-time-in-minutes | `20` | Max wait time in minutes for the process to finish. -|releaser.maven.build-command | `./mvnw clean install -B -Pdocs {{systemProps}}` | Command to be executed to build the project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.maven.deploy-command | `./mvnw deploy -DskipTests -B -Pfast,deploy {{systemProps}}` | Command to be executed to deploy a built project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.maven.deploy-guides-command | `./mvnw clean verify deploy -B -Pguides,integration -pl guides {{systemProps}}` | Command to be executed to build and deploy guides project only. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. -|releaser.maven.generate-release-train-docs-command | `bash release_train.sh --retrieveversions --version {{version}} --ghpages --auto` | Command to be executed to generate release train documentation. -|releaser.maven.publish-docs-command | `./mvnw deploy -DskipTests -B -Pfast,deploy,docs -pl docs {{systemProps}}` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. +|releaser.gradle.wait-time-in-minutes | `+++20+++` | Max wait time in minutes for the process to finish. +|releaser.maven.build-command | `+++./mvnw clean install -B -Pdocs {{systemProps}}+++` | Command to be executed to build the project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.maven.deploy-command | `+++./mvnw deploy -DskipTests -B -Pfast,deploy {{systemProps}}+++` | Command to be executed to deploy a built project. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.maven.deploy-guides-command | `+++./mvnw clean verify deploy -B -Pguides,integration -pl guides {{systemProps}}+++` | Command to be executed to build and deploy guides project only. If present "{{version}}" will be replaced by the provided version. "{{nextVersion}}" with the bumped snapshot version and "{{oldVersion}}" with the version before version updating. +|releaser.maven.generate-release-train-docs-command | `+++bash release_train.sh --retrieveversions --version {{version}} --ghpages --auto+++` | Command to be executed to generate release train documentation. +|releaser.maven.publish-docs-command | `+++./mvnw deploy -DskipTests -B -Pfast,deploy,docs -pl docs {{systemProps}}+++` | Command to be executed to publish documentation. If present "{{version}}" will be replaced by the provided version. +|releaser.maven.run-antora-command | `+++./mvnw antora -Pdocs {{systemProps}}+++` | Command to be executed to run Antora. |releaser.maven.system-properties | | Additional system properties that should be passed to the build / deploy commands. If present in other commands "{{systemProps}}" will be substituted with this property. -|releaser.maven.wait-time-in-minutes | `20` | Max wait time in minutes for the process to finish. -|releaser.meta-release.enabled | `false` | Are we releasing the whole suite of apps or only one? +|releaser.maven.wait-time-in-minutes | `+++20+++` | Max wait time in minutes for the process to finish. +|releaser.meta-release.enabled | `+++false+++` | Are we releasing the whole suite of apps or only one? |releaser.meta-release.git-org-url | | The URL of the Git organization. We'll append each project's name to it. |releaser.meta-release.projects-to-skip | | Names of projects to skip deployment for meta-release. -|releaser.meta-release.release-group-thread-count | `4` | Number of threads per release group. E.g. for thread count of 4 if there are 6 projects in a release group, 4 of them will be executed in parallel and 2 will wait for their turn. -|releaser.meta-release.release-group-timeout-in-minutes | `180` | Timeout in minutes during which we're waiting for a single composite task per a project to be executed. That means that if set to e.g. 180 then a release process for a single project should take at most 180 minutes. +|releaser.meta-release.release-group-thread-count | `+++4+++` | Number of threads per release group. E.g. for thread count of 4 if there are 6 projects in a release group, 4 of them will be executed in parallel and 2 will wait for their turn. +|releaser.meta-release.release-group-timeout-in-minutes | `+++180+++` | Timeout in minutes during which we're waiting for a single composite task per a project to be executed. That means that if set to e.g. 180 then a release process for a single project should take at most 180 minutes. |releaser.meta-release.release-groups | | If provided, allows to provide groups of projects that can be ran in parallel. E.g. {@code --releaser.meta-release.release-groups[0]=projectA,projectB,projectC} {@code --releaser.meta-release.release-groups[1]=projectD,projectE} {@code --releaser.meta-release.release-groups[2]=projectF,projectG} The order is still provided by the list of versions passed to the releaser. Basing on that order, and this value we are able to build a flow with projects. |releaser.meta-release.release-train-dependency-names | | All the names of dependencies that should be updated with the release train project version. |releaser.meta-release.release-train-project-name | | Name of the release train project. |releaser.pom.bom-version-pattern | | The pattern to match a version property in a BOM. Remember to catch the dependency name in a group. E.g. "^(spring-cloud-.*)\\.version$". -|releaser.pom.branch | `main` | Which branch of release train BOM should be checked out. Defaults to {@code main}. -|releaser.pom.ignored-pom-regex | `^.*\.git/.*$` | List of regular expressions of ignored poms. Defaults to test projects and samples. +|releaser.pom.branch | `+++main+++` | Which branch of release train BOM should be checked out. Defaults to {@code main}. +|releaser.pom.ignored-pom-regex | `+++^.*\.git/.*$+++` | List of regular expressions of ignored poms. Defaults to test projects and samples. |releaser.pom.pom-with-boot-starter-parent | | Subfolder of the pom that contains the {@code spring-boot-starer-parent} dependency. |releaser.pom.this-train-bom | | Subfolder of the pom that contains the versions for the release train. -|releaser.post-release-tasks-only | `false` | If set to {@code true} will run only post release tasks. -|releaser.sagan.base-url | `https://spring.io` | URL to the Sagan API. -|releaser.sagan.boot-section-file-name | `sagan-boot.adoc` | Name of the ascii doc file with boot part of this project's Sagan project page. Linked with {@link this#docsAdocsFile}. -|releaser.sagan.docs-adocs-file | `docs/src/main/asciidoc` | Folder with asciidoctor files for docs. -|releaser.sagan.index-section-file-name | `sagan-index.adoc` | Name of the ascii doc file with core part of this project's Sagan project page. Linked with {@link this#docsAdocsFile}. -|releaser.sagan.update-sagan | `false` | If set to {@code false} will not update Sagan. -|releaser.skip-post-release-tasks | `false` | If set to {@code true} will not run post release tasks. -|releaser.template.enabled | `false` | Should template generation be enabled. +|releaser.post-release-tasks-only | `+++false+++` | If set to {@code true} will run only post release tasks. +|releaser.sagan.base-url | `+++https://api.spring.io+++` | URL to the Sagan API. +|releaser.sagan.boot-section-file-name | `+++sagan-boot.adoc+++` | Name of the ascii doc file with boot part of this project's Sagan project page. Linked with {@link this#docsAdocsFile}. +|releaser.sagan.docs-adocs-file | `+++docs/src/main/asciidoc+++` | Folder with asciidoctor files for docs. +|releaser.sagan.index-section-file-name | `+++sagan-index.adoc+++` | Name of the ascii doc file with core part of this project's Sagan project page. Linked with {@link this#docsAdocsFile}. +|releaser.sagan.update-sagan | `+++false+++` | If set to {@code false} will not update Sagan. +|releaser.skip-post-release-tasks | `+++false+++` | If set to {@code true} will not run post release tasks. +|releaser.template.enabled | `+++false+++` | Should template generation be enabled. |releaser.template.template-folder | | Folder in which blog, email etc. templates are stored. -|releaser.versions.all-versions-file-url | `https://raw.githubusercontent.com/spring-io/start.spring.io/master/start-site/src/main/resources/application.yml` | Url to a file containing all the versions. Defaults to YAML from start.spring.io. +|releaser.versions.all-versions-file-url | `+++https://raw.githubusercontent.com/spring-io/start.spring.io/master/start-site/src/main/resources/application.yml+++` | Url to a file containing all the versions. Defaults to YAML from start.spring.io. |releaser.versions.bom-name | | Name in the YAML from initilizr for BOM mappings. |releaser.working-dir | | By default Releaser assumes running the program from the current working directory. If you want to change this behaviour - just change this value.