|  | #!/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} |