Skip to content
This repository has been archived by the owner on Jan 15, 2024. It is now read-only.

How to release the docbook reference plugin

cbeams edited this page Nov 26, 2012 · 4 revisions

Get access

Email [email protected] and ask for push rights to the gradle-plugins repository as well as edit/build/clone/admin rights in the bamboo GRADLEPLUGINS-DOCBOOK CI build.

Get the source; make changes as necessary

git clone [email protected]:SpringSource/gradle-plugins.git
...

Build and install; test changes locally

cd gradle-plugins/docbook-reference/plugin
./gradlew build install
cd $spring-framework-root

Update your target project's build.gradle to point to the now locally-installed plugin snapshot version, e.g.:

diff --git build.gradle build.gradle
index 79cd71b..993b896 100644
--- build.gradle
+++ build.gradle
@@ -3,7 +3,7 @@ buildscript {
         maven { url 'http://repo.springsource.org/plugins-release' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.1.6'
+        classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.2.0'
     }
 }

Build the reference documentation without the Gradle daemon; this is important as Gradle seems to cache build plugins when in daemon mode, i.e. may not pick up your new locally-installed version:

./gradlew --no-daemon --rerun-tasks cleanReferenceHtmlSingle referenceHtmlSingle

Verify your changes:

open build/reference/htmlsingle/index.html

Repeat this step as as necessary.

Commit and push changes to gradle-plugins repository

The docbook-plugin CI build will automatically run, publishing artifacts to the plugins-snapshot Artifactory repository.

You may wish to do further testing at this point, e.g. downloading the published snapshot from the remote repository, etc.

Stage a release of the plugin

Go to the Artifactory Release Management screen in Bamboo, filling out the form for example as follows:

Note that the publishing repository above is libs-staging-local.

Now click "Build and Release to Artifactory". The build will take just 30 seconds or so.

Test the staged plugin

Test the new version in your target project, e.g. spring-framework. To do so, you'll need to update the plugin repository url to libs-staging-local. The diff should look something like this:

diff --git build.gradle build.gradle
index 79cd71b..4d8ed1f 100644
--- build.gradle
+++ build.gradle
@@ -1,9 +1,10 @@
 buildscript {
     repositories {
         maven { url 'http://repo.springsource.org/plugins-release' }
+        maven { url 'http://repo.springsource.org/libs-staging-local' }
     }
     dependencies {
-        classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.1.6'
+        classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.2.0'
     }
 }

Promote to release repository

Return to the Bamboo build where staging successfully occurred, e.g. GRADLEPLUGINS-DOCBOOK-35. Navigate to "Default Job" in the left nav panel (which may need to be expanded first).

Click "Artifactory", which will take you to a promotion form that should be configured as follows:

Note the promotion repository is plugins-release-local.

Click Update, wait for the build to complete. You should see the following:

When finished, the plugin is now released.

Consume the new plugin

Update your target project, e.g. spring-framework to use the new plugin version. The final set of changes to build.gradle should look like the following:

diff --git build.gradle build.gradle
index 79cd71b..993b896 100644
--- build.gradle
+++ build.gradle
@@ -3,7 +3,7 @@ buildscript {
         maven { url 'http://repo.springsource.org/plugins-release' }
     }
     dependencies {
-        classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.1.6'
+        classpath 'org.springframework.build.gradle:docbook-reference-plugin:0.2.0'
     }
 }