James Moger
2015-09-18 e59d9d987a5dc29dc210feb28f4f347f12db4e5c
commit | author | age
de1b35 1 #!/bin/bash
JM 2 #
3 # ${project.version} release script
4 #
5
6 # ensure Maven repository is up-to-date
7 echo ""
8 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
9 echo "Preparing Maven repository"
10 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
11 echo ""
12 cd ${maven.directory}
13 git checkout gh-pages
14 git pull
15 cd ${project.directory}
16
17 # go back one commit to RELEASE commit
18 echo ""
19 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
20 echo "Checking out ${project.version} RELEASE commit ${project.commitId}"
21 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
22 echo ""
23 git checkout ${project.commitId}
24
25 # build RELEASE artifacts
26 echo ""
27 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
28 echo "Building ${project.version} RELEASE artifacts"
29 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
30 echo ""
31 ant clean buildAll buildMavenArtifacts
32
33 # commit all generated artifacts and metadata
34 echo ""
35 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
36 echo "Committing Maven repository ${project.version} RELEASE artifacts"
37 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
38 echo ""
39 cd ${maven.directory}
40 git add .
41 git commit -m "${project.version} artifacts"
42 cd ${project.directory}
43
44 # upload artifacts
45 echo ""
46 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
47 echo "Uploading ${project.version} artifacts"
48 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
49 echo ""
50 ant publishBinaries
51
52 # build site, update gh-pages, and ftp upload site to hosting provider
53 echo ""
54 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
55 echo "Building ${project.version} website"
56 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
57 echo ""
58 ant publishSite
59
60 # merge to master
61 echo ""
62 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
63 echo "Merging release ${project.version} to master"
64 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
65 echo ""
66 git checkout master
35bb22 67 git merge --no-ff -m "Merge release ${project.version}" ${project.commitId}
de1b35 68 ant nextPointReleaseCycle
JM 69
70 # merge to develop
71 echo ""
72 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
73 echo "Merging release ${project.version} to develop"
74 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
75 echo ""
76 git checkout develop
35bb22 77 git merge --no-ff -m "Merge release ${project.version}" ${project.commitId}
de1b35 78 ant nextMinorReleaseCycle
JM 79
80 # push Maven repository to origin
81 echo ""
82 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
83 echo "Pushing Maven repository"
84 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
85 echo ""
86 cd ${maven.directory}
87 git push origin gh-pages
88 cd ${project.directory}
89
90 # push project branches
91 echo ""
92 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
93 echo "Pushing master, develop, gh-pages, and tag ${project.tag}"
94 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
95 echo ""
35bb22 96 git push origin master develop gh-pages ${project.tag}