123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304 |
- ================================================================================
- 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 three 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).
-
- * When running ant, use the version in modules/lib/ant,
- i.e., modules/lib/ant/bin/ant [ ]
-
- * Run ant on build/build.xml :
-
- $ cd build
- $ ant clean [ ]
- $ ant fail-unless-boot-libraries-uptodate [ ]
- $ ant [ ]
-
- * Save the build output (console log) as build-<version>.log.txt [ ]
- (e.g. build-1.1rc1.log.txt)
-
- * Save the built jar to the releases directory [ ]
- (releases/aspectj-<version>)
-
- * Verify name is aspectj-<version>.jar [ ]
-
-
- Pre-installation tests:
- ================================================================================
-
- * run junitModules.xml tests
-
- - go to modules/tests/ and run
-
- $ ant -f junitModules.xml {target} \
- -Daspectjrt.path=../aj-build/dist/tools/lib/aspectjrt.jar
-
- for each target:
-
- -- 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):
-
- Where {harness} is
-
- $ cd tests
- $ {java-1.3} -jar ../aj-build/jars/testing-drivers-all.jar
-
- Do:
-
- $ {harness} -release -logFail ajcTests.xml [ ]
-
- -- save results in ajcTests-result-<version>-JDK13.txt [ ]
- (e.g. ajcTests-result-1.1rc1-JDK13.txt)
-
- -- record any failures (should be none) inline here.
-
- $ {harness} -release -logFail -emacssym ajcTests.xml [ ]
-
- -- save results in ajcTests-result-<version>-emacssym-JDK13.txt [ ]
- (e.g. ajcTests-result-1.1rc1-emacssym-JDK13.txt)
-
- -- record any failures (should be none) inline here.
-
- * run Harness tests on the 1.4 vm:
-
- Where {harness} is
-
- $ cd tests
- $ {java-1.4} -jar ../aj-build/jars/testing-drivers-all.jar
-
- Do:
-
- $ {harness} -release -logFail ajcTests.xml [ ]
-
- -- save results in ajcTests-result-<version>-JDK14.txt [ ]
- (e.g. ajcTests-result-1.1rc1-JDK14.txt)
-
- -- record any failures (should be none) inline here.
-
- $ {harness} -release -logFail -emacssym ajcTests.xml [ ]
-
- -- save results in ajcTests-result-<version>-emacssym-JDK14.txt [ ]
- (e.g. ajcTests-result-1.1rc1-emacssym-JDK14.txt)
-
- -- record any failures (should be none) inline here.
-
- * run Harness on ajcTestsFailing.xml
-
- Where {harness} is
-
- $ cd tests
- $ {java-1.3} -jar ../aj-build/jars/testing-drivers-all.jar
-
- Do:
-
- $ {harness} -release -logFail ajcTestsFailing.xml [ ]
-
- -- save results in ajcTestsFailing-result-<version>-JDK13.txt [ ]
- (e.g. ajcTestsFailing-result-1.1rc1-JDK13.txt)
-
- -- record any failures inline here (should be none. 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 (file not required) [ ]
-
- * 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 [ ]
-
- * With aspectjtools.jar in the ant/lib directory, also build
- - tracing-adapter [ ]
- - tracing-adapter-ajc [ ]
-
-
- * 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 manual dates correct in docs [ ]
-
- * verify api docs present and correct [ ]
-
- Product Testing
- ================================================================================
-
- These tests are a bit more rigorous and time-consuming.
- Run at your discretion
-
- * Compile AspectJ sources using AspectJ [ ]
-
- cd tests/product/build-aspectj
- ant
-
- * Perform steps specified in the Development Guide on AJBrowser [ ]
-
- * Perform steps specified in tests/ajdt/script.html [ ]
-
- * Build/run tests/test-other-systems.xml (PARC has other sources) [ ]
-
-
- Cross-Platform Testing
- ================================================================================
-
- (Assuming prior tests were done under windows)
-
- * Install, build and run spacewar on Linux using AJBrowser [ ]
-
- * Install, build and run spacewar on Mac OS X using AJBrowser [ ]
-
- * Download from IE, Netscape, and Mozilla, new and old [ ]
- if they have not been validated with the current HTML.
-
- Bug database
- ================================================================================
-
- * No P1 or P2 bugs, and no lower bugs that should be P1/P2 [ ]
-
- * All fixed bugs verified (at least by fixing developer, [ ]
- though preferably with a test case)
-
- * Please comment if there are compiler fixes without test cases [ ]
-
-
- 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 [ ]
|