]> source.dussan.org Git - gitblit.git/commitdiff
Update build script for git-flow releases
authorJames Moger <james.moger@gitblit.com>
Mon, 16 Jun 2014 21:06:56 +0000 (17:06 -0400)
committerJames Moger <james.moger@gitblit.com>
Mon, 16 Jun 2014 21:35:04 +0000 (17:35 -0400)
build.xml
release.template

index 39fdb2e72be46bb9eab6c38a0f0f8c420dcbe58b..59dc6cb00b5b333e8ba3b135a0ca1d758f2212c4 100644 (file)
--- a/build.xml
+++ b/build.xml
                        </filterset>\r
                </copy>\r
                <chmod file="${recipe}" perm="ugo+rx" />\r
+       </target>\r
 \r
\r
+       <!--\r
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \r
+               Prepare for the next point release development cycle.\r
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \r
+       -->\r
+       <target name="nextPointReleaseCycle" depends="prepare" description="prepare for the next point release development cycle">\r
                <!-- next cycle -->\r
                <mx:version stage="snapshot" incrementNumber="incremental" dryrun="${dryrun}" />\r
                <mx:commit showtitle="no">\r
-                   <message>Reset build identifiers for next development cycle</message>\r
+                   <message>Reset build identifiers for next point release cycle</message>\r
                </mx:commit>            \r
        </target>\r
 \r
                \r
        <!--\r
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \r
+               Prepare for the next minor release development cycle.\r
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \r
+       -->\r
+       <target name="nextMinorReleaseCycle" depends="prepare" description="prepare for the next minor release development cycle">\r
+               <!-- next cycle -->\r
+               <mx:version stage="snapshot" incrementNumber="minor" dryrun="${dryrun}" />\r
+               <mx:commit showtitle="no">\r
+                   <message>Reset build identifiers for next minor release cycle</message>\r
+               </mx:commit>            \r
+       </target>\r
+\r
+       \r
+  <!--\r
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
                Build Gitblit Docs\r
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
index f248efdb0baa45ec5e87c7ea9f507fa0369b01f5..a539c637e9d82ea63f54d91d39c7b410ae4df088 100644 (file)
@@ -1,84 +1,96 @@
-#!/bin/bash\r
-#\r
-# ${project.version} release script\r
-#\r
-\r
-# ensure Maven repository is up-to-date\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Preparing Maven repository"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-cd ${maven.directory}\r
-git checkout gh-pages\r
-git pull\r
-cd ${project.directory}\r
-\r
-# go back one commit to RELEASE commit\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Checking out ${project.version} RELEASE commit ${project.commitId}"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-git checkout ${project.commitId}\r
-\r
-# build RELEASE artifacts\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Building ${project.version} RELEASE artifacts"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-ant clean buildAll buildMavenArtifacts\r
-\r
-# commit all generated artifacts and metadata\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Committing Maven repository ${project.version} RELEASE artifacts"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-cd ${maven.directory}\r
-git add .\r
-git commit -m "${project.version} artifacts"\r
-cd ${project.directory}\r
-\r
-# upload artifacts\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Uploading ${project.version} artifacts"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-ant publishBinaries\r
-\r
-# build site, update gh-pages, and ftp upload site to hosting provider\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Building ${project.version} website"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-ant publishSite\r
-\r
-# return to project master\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Checking out master"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-git checkout master\r
-\r
-# push Maven repository to origin\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Pushing Maven repository"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-cd ${maven.directory}\r
-git push origin gh-pages\r
-cd ${project.directory}\r
-\r
-# push project branches\r
-echo ""\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo "Pushing master, gh-pages, and tag ${project.tag}"\r
-echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"\r
-echo ""\r
-git push origin master gh-pages tag ${project.tag}\r
+#!/bin/bash
+#
+# ${project.version} release script
+#
+
+# ensure Maven repository is up-to-date
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Preparing Maven repository"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+cd ${maven.directory}
+git checkout gh-pages
+git pull
+cd ${project.directory}
+
+# go back one commit to RELEASE commit
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Checking out ${project.version} RELEASE commit ${project.commitId}"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+git checkout ${project.commitId}
+
+# build RELEASE artifacts
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Building ${project.version} RELEASE artifacts"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+ant clean buildAll buildMavenArtifacts
+
+# commit all generated artifacts and metadata
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Committing Maven repository ${project.version} RELEASE artifacts"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+cd ${maven.directory}
+git add .
+git commit -m "${project.version} artifacts"
+cd ${project.directory}
+
+# upload artifacts
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Uploading ${project.version} artifacts"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+ant publishBinaries
+
+# build site, update gh-pages, and ftp upload site to hosting provider
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Building ${project.version} website"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+ant publishSite
+
+# merge to master
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Merging release ${project.version} to master"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+git checkout master
+git merge -m "Merge release ${project.version}" ${project.commitId}
+ant nextPointReleaseCycle
+
+# merge to develop
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Merging release ${project.version} to develop"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+git checkout develop
+git merge -m "Merge release ${project.version}" ${project.commitId}
+ant nextMinorReleaseCycle
+
+# push Maven repository to origin
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Pushing Maven repository"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+cd ${maven.directory}
+git push origin gh-pages
+cd ${project.directory}
+
+# push project branches
+echo ""
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo "Pushing master, develop, gh-pages, and tag ${project.tag}"
+echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+echo ""
+git push origin master develop gh-pages tag ${project.tag}