From 499c0be0c732f9b4c472540bb0fe09b356d9146a Mon Sep 17 00:00:00 2001 From: James Moger Date: Wed, 10 Apr 2013 09:56:03 -0400 Subject: [PATCH] Added release process script template --- build.xml | 23 ++++++++++ release.template | 115 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 release.template diff --git a/build.xml b/build.xml index 18deb99..0c1a670 100644 --- a/build.xml +++ b/build.xml @@ -259,6 +259,29 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/release.template b/release.template new file mode 100644 index 0000000..7b5460d --- /dev/null +++ b/release.template @@ -0,0 +1,115 @@ +#!/bin/bash +# +# ${project.version} release script +# + +# go back one commit to RELEASE commit +echo "" +echo "************************************************************************" +echo "Checking out ${project.version} RELEASE commit ${project.commitId}" +echo "************************************************************************" +echo "" +git checkout ${project.commitId} + +# submodules operate on a detached HEAD so we first checkout and pull master +echo "" +echo "************************************************************************" +echo "Preparing Maven submodule" +echo "************************************************************************" +echo "" +cd maven +git checkout master +git pull +cd .. + +# build RELEASE artifacts, this will deploy artifacts into maven folder +echo "" +echo "************************************************************************" +echo "Building ${project.version} RELEASE artifacts" +echo "************************************************************************" +echo "" +ant + +# commit all generated artifacts and metadata in submodule +echo "" +echo "************************************************************************" +echo "Committing Maven submodule ${project.version} RELEASE artifacts" +echo "************************************************************************" +echo "" +cd maven +git add . +git commit -m "${project.version} artifacts" +cd .. + +# Update master branch Maven submodule repository reference +echo "" +echo "************************************************************************" +echo "Updating master for Maven submodule ${project.version} RELEASE artifacts" +echo "************************************************************************" +echo "" +git checkout master +git add maven +git commit -m "updated Maven submodule repository to ${project.version}" + +# Update gh-pages branch Maven submodule repository reference +echo "" +echo "************************************************************************" +echo "Updating gh-pages for Maven submodule ${project.version} RELEASE artifacts" +echo "************************************************************************" +echo "" +git checkout gh-pages +git add maven +git commit -m "updated Maven submodule repository to ${project.version}" + +# return to release commit +echo "" +echo "************************************************************************" +echo "Checking out ${project.version} RELEASE commit ${project.commitId}" +echo "************************************************************************" +echo "" +git checkout ${project.commitId} + +# upload artifacts +echo "" +echo "************************************************************************" +echo "Uploading ${project.version} artifacts" +echo "************************************************************************" +echo "" +ant uploadArtifacts + +# build site, update gh-pages, and ftp upload site to hosting provider +echo "" +echo "************************************************************************" +echo "Building ${project.version} website" +echo "************************************************************************" +echo "" +ant publishSite + +# return to project master +echo "" +echo "************************************************************************" +echo "Checking out master" +echo "************************************************************************" +echo "" +git checkout master + +# push Maven submodule to origin +echo "" +echo "************************************************************************" +echo "Pushing Maven submodule" +echo "************************************************************************" +echo "" +cd maven +git push origin master +cd .. + +# push project branches +echo "" +echo "************************************************************************" +echo "Pushing master and gh-pages" +echo "************************************************************************" +echo "" +git push origin master gh-pages + +# update the Maven submodule reference +git submodule update -- 2.39.5