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-checklist.txt 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. ================================================================================
  2. Checklist for Preparing an AspectJ Release
  3. ================================================================================
  4. Create a fresh copy of this file, and then record your progress in the file and
  5. save it as part of the release notes on completion.
  6. Before you begin... you will need:
  7. ================================================================================
  8. * A JDK v1.4.x java -fullversion : [ ]
  9. * A JDK v1.3.x java -fullversion : [ ]
  10. * A 1.1.8 JRE version : [ ]
  11. * A Windoze box OS version : [ ]
  12. * A Linux box distribution : [ ]
  13. * An iMac (nice-to-have) JDK 1.4.x : [ ]
  14. * Eclipse version : [ ]
  15. * A pair of scissors (get an adult to help you with these)
  16. * Some sticky-backed plastic
  17. OK, so the last three aren't strictly necessary, but they always seem to come in
  18. useful on the telly.
  19. Extraction:
  20. ================================================================================
  21. * Full CVS extract of org.aspectj/modules [ ]
  22. date and time of extract : [ ]
  23. Preparation:
  24. ================================================================================
  25. * Create a new directory under releases for this release [ ]
  26. (e.g. releases/aspectj-1.1rc1)
  27. * Save a copy of this file there as package-and-test-notes.txt [ ]
  28. * Edit build/build-properties.xml and set the version properties for this
  29. release [ ]
  30. e.g.
  31. <property name="build.version" value="1.1rc1"/>
  32. <property name="build.version.base" value="1.1"/>
  33. <property name="build.version.long" value="1.1 release candidate 1"/>
  34. <property name="build.version.short" value="1.1rc1"/>
  35. * Edit org.aspectj.ajdt.core/src/org.aspectj.ajdt.ajc/messages.properties and
  36. set the version properties for this release [ ]
  37. e.g.
  38. ### AspectJ-specific messages
  39. configure.version = AspectJ Compiler 1.1rc1
  40. configure.directoryNotExist = invalid option or directory does not exist: {0}
  41. ## 3456789012345678901234567890123456789012345678901234567890123456789012345
  42. ### miscellaneous
  43. misc.usage = AspectJ Compiler 1.1 release candidate 1\n\
  44. ...
  45. Build:
  46. ================================================================================
  47. * Ensure JAVA_HOME is set to point to your 1.3 JDK [ ]
  48. echo $JAVA_HOME [ ]
  49. (even when you "Run Ant..." from eclipse, the value of JAVA_HOME is
  50. used rather than the JRE specified in your Eclipse settings).
  51. * When running ant, use the version in modules/lib/ant,
  52. i.e., modules/lib/ant/bin/ant [ ]
  53. * Run ant on build/build.xml :
  54. $ cd build
  55. $ ant clean [ ]
  56. $ ant fail-unless-boot-libraries-uptodate [ ]
  57. $ ant [ ]
  58. * Save the build output (console log) as build-<version>.log.txt [ ]
  59. (e.g. build-1.1rc1.log.txt)
  60. * Save the built jar to the releases directory [ ]
  61. (releases/aspectj-<version>)
  62. * Verify name is aspectj-<version>.jar [ ]
  63. Pre-installation tests:
  64. ================================================================================
  65. * run junitModules.xml tests
  66. - go to modules/tests/ and run
  67. $ ant -f junitModules.xml {target} \
  68. -Daspectjrt.path=../aj-build/dist/tools/lib/aspectjrt.jar
  69. for each target:
  70. -- target = clean [ ]
  71. -- target = default [ ]
  72. - Record any failures here (should be none)
  73. - Save the test results as junitModules.report.zip [ ]
  74. (zip of eclipse/workspace/tests/bin/junitXmlOutput/html)
  75. * run Harness tests on the 1.3 vm (ajcTests.xml):
  76. Where {harness} is
  77. $ cd tests
  78. $ {java-1.3} -jar ../aj-build/jars/testing-drivers-all.jar
  79. Do:
  80. $ {harness} -release -logFail ajcTests.xml [ ]
  81. -- save results in ajcTests-result-<version>-JDK13.txt [ ]
  82. (e.g. ajcTests-result-1.1rc1-JDK13.txt)
  83. -- record any failures (should be none) inline here.
  84. $ {harness} -release -logFail -emacssym ajcTests.xml [ ]
  85. -- save results in ajcTests-result-<version>-emacssym-JDK13.txt [ ]
  86. (e.g. ajcTests-result-1.1rc1-emacssym-JDK13.txt)
  87. -- record any failures (should be none) inline here.
  88. * run Harness tests on the 1.4 vm:
  89. Where {harness} is
  90. $ cd tests
  91. $ {java-1.4} -jar ../aj-build/jars/testing-drivers-all.jar
  92. Do:
  93. $ {harness} -release -logFail ajcTests.xml [ ]
  94. -- save results in ajcTests-result-<version>-JDK14.txt [ ]
  95. (e.g. ajcTests-result-1.1rc1-JDK14.txt)
  96. -- record any failures (should be none) inline here.
  97. $ {harness} -release -logFail -emacssym ajcTests.xml [ ]
  98. -- save results in ajcTests-result-<version>-emacssym-JDK14.txt [ ]
  99. (e.g. ajcTests-result-1.1rc1-emacssym-JDK14.txt)
  100. -- record any failures (should be none) inline here.
  101. * run Harness on ajcTestsFailing.xml
  102. Where {harness} is
  103. $ cd tests
  104. $ {java-1.3} -jar ../aj-build/jars/testing-drivers-all.jar
  105. Do:
  106. $ {harness} -release -logFail ajcTestsFailing.xml [ ]
  107. -- save results in ajcTestsFailing-result-<version>-JDK13.txt [ ]
  108. (e.g. ajcTestsFailing-result-1.1rc1-JDK13.txt)
  109. -- record any failures inline here (should be none. ajcTestsFailing
  110. should be empty for a final release. Known exceptions are
  111. permissible for a non-final release.)
  112. Installation & Verification Tests
  113. ================================================================================
  114. * install from aspectj-<version>.jar as built above
  115. - verify version number and build date on splash screen [ ]
  116. - save screenshot of splash screen (not essential) as [ ]
  117. Installer-Splash-Screen.bmp (file format may vary)
  118. * verify directory structure created ok [ ]
  119. * check version in README-AspectJ.html [ ]
  120. * check version in README-1.1.html (file not required) [ ]
  121. * check license present and correct version (currently CPLv1.0) [ ]
  122. * run "ajc -version", verify version info [ ]
  123. * run "ajc", verify version info [ ]
  124. * from doc/examples, run "ant", verify spacewar builds and runs ok [ ]
  125. * in doc/examples, build ant targets as follows:
  126. - bean [ ]
  127. - intro [ ]
  128. - intro-clone [ ]
  129. - intro-compare [ ]
  130. - intro-hash [ ]
  131. - observer [ ]
  132. - spacewar [ ]
  133. - spacewar-demo [ ]
  134. - telecom [ ]
  135. - telecom-billing [ ]
  136. - telecom-timing [ ]
  137. - tjp [ ]
  138. - tracing-1 [ ]
  139. - tracing-2 [ ]
  140. - tracing-3 [ ]
  141. - tracing-bc [ ]
  142. - tracing-none [ ]
  143. * With aspectjtools.jar in the ant/lib directory, also build
  144. - tracing-adapter [ ]
  145. - tracing-adapter-ajc [ ]
  146. * run pre-compiled version of spacewar on a 1.1.8 vm [ ]
  147. * verify debug info included in class files
  148. - "javap -l org.aspectj.tools.ajc.Main" under jdk 1.4 or later [ ]
  149. * verify manual dates correct in docs [ ]
  150. * verify api docs present and correct [ ]
  151. Product Testing
  152. ================================================================================
  153. These tests are a bit more rigorous and time-consuming.
  154. Run at your discretion
  155. * Compile AspectJ sources using AspectJ [ ]
  156. cd tests/product/build-aspectj
  157. ant
  158. * Perform steps specified in the Development Guide on AJBrowser [ ]
  159. * Perform steps specified in tests/ajdt/script.html [ ]
  160. * Build/run tests/test-other-systems.xml (PARC has other sources) [ ]
  161. Cross-Platform Testing
  162. ================================================================================
  163. (Assuming prior tests were done under windows)
  164. * Install, build and run spacewar on Linux using AJBrowser [ ]
  165. * Install, build and run spacewar on Mac OS X using AJBrowser [ ]
  166. * Download from IE, Netscape, and Mozilla, new and old [ ]
  167. if they have not been validated with the current HTML.
  168. Bug database
  169. ================================================================================
  170. * No P1 or P2 bugs, and no lower bugs that should be P1/P2 [ ]
  171. * All fixed bugs verified (at least by fixing developer, [ ]
  172. though preferably with a test case)
  173. * Please comment if there are compiler fixes without test cases [ ]
  174. Other Release Objectives
  175. ================================================================================
  176. Record any other details or release specific objectives test results here.
  177. Release
  178. ================================================================================
  179. Once developer consensus is reached on the build:
  180. * commit all releases/aspectj-<version>/*.* files created during
  181. this process [ ]
  182. * tag /home/technology/org.aspectj as vM_m_r_XX (e.g. v1_1_0_RC1) [ ]
  183. * post aspectj-<version>.jar to
  184. download.eclipse.org/technology/ajdt/aspectj-<version>.jar [ ]
  185. * download from
  186. https://download.eclipse.org/technology/ajdt/aspectj-<version>.jar
  187. and install [ ]
  188. * post news article on project home page [ ]
  189. * post link on download page [ ]
  190. * post announce message to aspectj-users, aspectj-announce [ ]
  191. * buy beer [ ]