|
|
@@ -0,0 +1,244 @@ |
|
|
|
================================================================================ |
|
|
|
Checklist for Preparing an AspectJ Release |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
Create a fresh copy of this file, and then record your progress in the file and |
|
|
|
save it as part of the release notes on completion. |
|
|
|
|
|
|
|
Before you begin... you will need: |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
* A JDK v1.4.x java -fullversion : [ ] |
|
|
|
* A JDK v1.3.x java -fullversion : [ ] |
|
|
|
* A 1.1.8 JRE version : [ ] |
|
|
|
* A Windoze box OS version : [ ] |
|
|
|
* A Linux box distribution : [ ] |
|
|
|
* An iMac (nice-to-have) JDK 1.4.x : [ ] |
|
|
|
* Eclipse version : [ ] |
|
|
|
|
|
|
|
* A pair of scissors (get an adult to help you with these) |
|
|
|
* Some sticky-backed plastic |
|
|
|
|
|
|
|
OK, so the last two aren't strictly necessary, but they always seem to come in |
|
|
|
useful on the telly. |
|
|
|
|
|
|
|
Extraction: |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
* Full CVS extract of org.aspectj/modules [ ] |
|
|
|
date and time of extract : [ ] |
|
|
|
|
|
|
|
Preparation: |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
* Create a new directory under releases for this release [ ] |
|
|
|
(e.g. releases/aspectj-1.1rc1) |
|
|
|
|
|
|
|
* Save a copy of this file there as package-and-test-notes.txt [ ] |
|
|
|
|
|
|
|
* Edit build/build-properties.xml and set the version properties for this |
|
|
|
release [ ] |
|
|
|
|
|
|
|
e.g. |
|
|
|
|
|
|
|
<property name="build.version" value="1.1rc1"/> |
|
|
|
<property name="build.version.base" value="1.1"/> |
|
|
|
<property name="build.version.long" value="1.1 release candidate 1"/> |
|
|
|
<property name="build.version.short" value="1.1rc1"/> |
|
|
|
|
|
|
|
* Edit org.aspectj.ajdt.core/src/org.aspectj.ajdt.ajc/messages.properties and |
|
|
|
set the version properties for this release [ ] |
|
|
|
|
|
|
|
e.g. |
|
|
|
|
|
|
|
### AspectJ-specific messages |
|
|
|
configure.version = AspectJ Compiler 1.1rc1 |
|
|
|
configure.directoryNotExist = invalid option or directory does not exist: {0} |
|
|
|
## 3456789012345678901234567890123456789012345678901234567890123456789012345 |
|
|
|
### miscellaneous |
|
|
|
misc.usage = AspectJ Compiler 1.1 release candidate 1\n\ |
|
|
|
... |
|
|
|
|
|
|
|
Build: |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
* Ensure JAVA_HOME is set to point to your 1.3 JDK [ ] |
|
|
|
echo $JAVA_HOME [ ] |
|
|
|
|
|
|
|
(even when you "Run Ant..." from eclipse, the value of JAVA_HOME is |
|
|
|
used rather than the JRE specified in your Eclipse settings). |
|
|
|
|
|
|
|
* Run ant on build/build.xml : |
|
|
|
|
|
|
|
- ant clean [ ] |
|
|
|
- ant [ ] |
|
|
|
- ant clean [ ] |
|
|
|
- ant [ ] |
|
|
|
|
|
|
|
(we do this twice to ensure any changes to the build module itself made |
|
|
|
in the first pass are used on the second pass). |
|
|
|
|
|
|
|
* Save the build output (console log) as build<version>.log [ ] |
|
|
|
(e.g. build1.1rc1.log) |
|
|
|
|
|
|
|
* Save the built jar as aspectj-<version>.jar [ ] |
|
|
|
|
|
|
|
Pre-installation tests: |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
* run junitModules.xml tests |
|
|
|
|
|
|
|
- "Run Ant..." on tests/junitModules.xml, using the property tab to set |
|
|
|
property "aspectjrt.path= |
|
|
|
<eclipse-dir>/workspace/aj-build/dist/tools/lib/aspectjrt.jar" |
|
|
|
|
|
|
|
-- target = clean [ ] |
|
|
|
-- target = default [ ] |
|
|
|
|
|
|
|
- Record any failures here (should be none) |
|
|
|
|
|
|
|
- Save the test results as junitModules.report.zip [ ] |
|
|
|
(zip of eclipse/workspace/tests/bin/junitXmlOutput/html) |
|
|
|
|
|
|
|
|
|
|
|
* run Harness tests on the 1.3 vm (ajcTests.xml): |
|
|
|
|
|
|
|
- run org.aspectj.testing.drivers.Harness with args -logFail -release |
|
|
|
ajcTests.xml [ ] |
|
|
|
|
|
|
|
-- save results in ajcTests-result-<version>.txt [ ] |
|
|
|
(e.g. ajcTests-result-1.1rc1.txt) |
|
|
|
|
|
|
|
-- record any failures (should be none) inline here. |
|
|
|
|
|
|
|
- run org.aspectj.testing.drivers.Harness with args |
|
|
|
-logFail -release -emacssym ajcTests.xml [ ] |
|
|
|
|
|
|
|
-- save results in ajcTests-result-<version>-emacssym.txt [ ] |
|
|
|
(e.g. ajcTests-result-1.1rc1.txt) |
|
|
|
|
|
|
|
-- record any failures (should be none) inline here. |
|
|
|
|
|
|
|
* run Harness tests on the 1.4 vm: |
|
|
|
|
|
|
|
- run org.aspectj.testing.drivers.Harness with args -logFail -release |
|
|
|
ajcTests.xml [ ] |
|
|
|
|
|
|
|
-- save results in ajcTests-result-<version>-JDK14.txt [ ] |
|
|
|
(e.g. ajcTests-result-1.1rc1.txt) |
|
|
|
|
|
|
|
-- record any failures (should be none) inline here. |
|
|
|
|
|
|
|
- run org.aspectj.testing.drivers.Harness with args |
|
|
|
-logFail -release -emacssym ajcTests.xml [ ] |
|
|
|
|
|
|
|
-- save results in ajcTests-result-<version>-emacssym-JDK14.txt [ ] |
|
|
|
(e.g. ajcTests-result-1.1rc1.txt) |
|
|
|
|
|
|
|
-- record any failures (should be none) inline here. |
|
|
|
|
|
|
|
* run Harness on ajcTestsFailing.xml |
|
|
|
|
|
|
|
- run org.aspectj.testing.drivers.Harness with args -logFail -release |
|
|
|
ajcTestsFailing.xml [ ] |
|
|
|
|
|
|
|
-- save results in ajcTestsFailing-result-<version>.txt [ ] |
|
|
|
(e.g. ajcTestsFailing-result-1.1rc1.txt) |
|
|
|
|
|
|
|
-- record any failures inline here (should be none -ie ajcTestsFailing |
|
|
|
should be empty for a final release, known exceptions are |
|
|
|
permissible for a non-final release). |
|
|
|
|
|
|
|
Installation & Verification Tests |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
* install from aspectj-<version>.jar as built above |
|
|
|
|
|
|
|
- verify version number and build date on splash screen [ ] |
|
|
|
|
|
|
|
- save screenshot of splash screen (not essential) as [ ] |
|
|
|
Installer-Splash-Screen.bmp (file format may vary) |
|
|
|
|
|
|
|
* verify directory structure created ok [ ] |
|
|
|
|
|
|
|
* check version in README-AspectJ.html [ ] |
|
|
|
|
|
|
|
* check version in README-11.html [ ] |
|
|
|
|
|
|
|
* check license present and correct version (currently CPLv1.0) [ ] |
|
|
|
|
|
|
|
* run "ajc -version", verify version info [ ] |
|
|
|
|
|
|
|
* run "ajc", verify version info [ ] |
|
|
|
|
|
|
|
* from doc/examples, run "ant", verify spacewar builds and runs ok [ ] |
|
|
|
|
|
|
|
* in doc/examples, build ant targets as follows: |
|
|
|
- bean [ ] |
|
|
|
- intro [ ] |
|
|
|
- intro-clone [ ] |
|
|
|
- intro-compare [ ] |
|
|
|
- intro-hash [ ] |
|
|
|
- observer [ ] |
|
|
|
- spacewar [ ] |
|
|
|
- spacewar-demo [ ] |
|
|
|
- telecom [ ] |
|
|
|
- telecom-billing [ ] |
|
|
|
- telecom-timing [ ] |
|
|
|
- tjp [ ] |
|
|
|
- tracing-1 [ ] |
|
|
|
- tracing-2 [ ] |
|
|
|
- tracing-3 [ ] |
|
|
|
- tracing-bc [ ] |
|
|
|
- tracing-none [ ] |
|
|
|
|
|
|
|
* run pre-compiled version of spacewar on a 1.1.8 vm [ ] |
|
|
|
|
|
|
|
* verify debug info included in class files |
|
|
|
- "javap -l org.aspectj.tools.ajc.Main" under jdk 1.4 or later [ ] |
|
|
|
|
|
|
|
* verify ant-tasks.html has correct date and version info [ ] |
|
|
|
|
|
|
|
* verify manual dates correct in docs [ ] |
|
|
|
|
|
|
|
* verify api docs present and correct [ ] |
|
|
|
|
|
|
|
Cross-Platform Testing |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
(Assuming prior tests were done under windows) |
|
|
|
|
|
|
|
* Install, build and run spacewar on Linux [ ] |
|
|
|
|
|
|
|
* Install, build and run spacewar on Mac OS X [ ] |
|
|
|
|
|
|
|
Other Release Objectives |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
Record any other details or release specific objectives test results here. |
|
|
|
|
|
|
|
Release |
|
|
|
================================================================================ |
|
|
|
|
|
|
|
Once developer consensus is reached on the build: |
|
|
|
|
|
|
|
* commit all releases/aspectj-<version>/*.* files created during |
|
|
|
this process [ ] |
|
|
|
|
|
|
|
* tag /home/technology/org.aspectj as vM_m_r_XX (e.g. v1_1_0_RC1) [ ] |
|
|
|
|
|
|
|
* post aspectj-<version>.jar to |
|
|
|
download.eclipse.org/technology/ajdt/aspectj-<version>.jar [ ] |
|
|
|
|
|
|
|
* download from |
|
|
|
http://download.eclipse.org/technology/ajdt/aspectj-<version>.jar |
|
|
|
and install [ ] |
|
|
|
|
|
|
|
* post news article on project home page [ ] |
|
|
|
|
|
|
|
* post link on download page [ ] |
|
|
|
|
|
|
|
* post announce message to aspectj-users, aspectj-announce, |
|
|
|
aosd-discuss, aosd-announce [ ] |
|
|
|
|
|
|
|
* buy beer [ ] |