You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

release.template 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #!/bin/bash
  2. #
  3. # ${project.version} release script
  4. #
  5. # go back one commit to RELEASE commit
  6. echo ""
  7. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  8. echo "Checking out ${project.version} RELEASE commit ${project.commitId}"
  9. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  10. echo ""
  11. git checkout ${project.commitId}
  12. # submodules operate on a detached HEAD so we first checkout and pull master
  13. echo ""
  14. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  15. echo "Preparing Maven submodule"
  16. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  17. echo ""
  18. cd maven
  19. git checkout master
  20. git pull
  21. cd ..
  22. # build RELEASE artifacts, this will deploy artifacts into maven folder
  23. echo ""
  24. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  25. echo "Building ${project.version} RELEASE artifacts"
  26. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  27. echo ""
  28. ant
  29. # commit all generated artifacts and metadata in submodule
  30. echo ""
  31. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  32. echo "Committing Maven submodule ${project.version} RELEASE artifacts"
  33. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  34. echo ""
  35. cd maven
  36. git add .
  37. git commit -m "${project.version} artifacts"
  38. cd ..
  39. # Update master branch Maven submodule repository reference
  40. echo ""
  41. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  42. echo "Updating master for Maven submodule ${project.version} RELEASE artifacts"
  43. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  44. echo ""
  45. git checkout master
  46. git add maven
  47. git commit -m "updated Maven submodule repository to ${project.version}"
  48. # Update gh-pages branch Maven submodule repository reference
  49. echo ""
  50. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  51. echo "Updating gh-pages for Maven submodule ${project.version} RELEASE artifacts"
  52. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  53. echo ""
  54. git checkout gh-pages
  55. git add maven
  56. git commit -m "updated Maven submodule repository to ${project.version}"
  57. # return to release commit
  58. echo ""
  59. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  60. echo "Checking out ${project.version} RELEASE commit ${project.commitId}"
  61. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  62. echo ""
  63. git checkout ${project.commitId}
  64. # build site, update gh-pages, and ftp upload site to hosting provider
  65. echo ""
  66. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  67. echo "Building ${project.version} website"
  68. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  69. echo ""
  70. ant testsuite publishSite
  71. # return to project master
  72. echo ""
  73. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  74. echo "Checking out master"
  75. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  76. echo ""
  77. git checkout master
  78. # push Maven submodule to origin
  79. echo ""
  80. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  81. echo "Pushing Maven submodule"
  82. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  83. echo ""
  84. cd maven
  85. git push origin master
  86. cd ..
  87. # push project branches
  88. echo ""
  89. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  90. echo "Pushing gh-pages"
  91. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  92. echo ""
  93. git push -f origin gh-pages
  94. echo ""
  95. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  96. echo "Pushing master and tag ${project.tag}"
  97. echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
  98. echo ""
  99. git push origin master tag ${project.tag}
  100. # update the Maven submodule reference
  101. git submodule update