| #!/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 --no-ff -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 --no-ff -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 ${project.tag} |