Summary: | AspectJ 5 M2 should implement backwards compatibility for binary aspect form | ||
---|---|---|---|
Product: | [Tools] AspectJ | Reporter: | Adrian Colyer <adrian.colyer> |
Component: | Compiler | Assignee: | Adrian Colyer <adrian.colyer> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | mlippert |
Version: | DEVELOPMENT | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Adrian Colyer
2005-01-04 09:40:55 EST
I have just checked in the fix for this. AspectJ5 will now read in 1.2.1 built aspects. I have: 1. Updated the version number for the WeaverVersionInfo attribute that exists in files generated by AspectJ releases since 1.2.1 onwards. 1.2.1 had version 1.0 in the attribute. AspectJ 5 has version 2.0 2. Rebuilt all the jar files used by testcases so they include the new version number. 3. Introduced a VersionedDataInputStream subclass of DataInputStream that knows the weaver version that was used to build the contents of the data in the stream. 4. Modified all read() methods in the org.aspectj.weaver.patterns package to use a VersionedDataInputStream rather than a DataInputStream, they are then able to check the version before determining what data they should read. 5. Fixed the TypePattern and SignaturePattern read methods to allow for the old version number (1.0) which wouldn't include varargs info or annotation patterns. 6. Added a testcase that takes 1.2.1 generated code as input for a weave by AspectJ 5. Basically, the VersionedDataInputStream defaults to assuming the latest version, and some changes in the attribute unpacking code modify the version if they come across a WeaverVersionInfo attribute. We can't (without a lot of messy messy work) get AspectJ 5 to accept pre-1.2.1 built aspects as input. waiting for build ... Build available: BUILD COMPLETE - build.428 Date of build: 01/07/2005 14:46:31 Time to build: 100 minutes 19 seconds Last changed: 01/07/2005 14:14:51 Last log entry: Fix for Bug 82134: AspectJ 5 M2 should implement backwards compatibility for binary aspect form Latest good AspectJ jar available at: download.eclipse.org/technology/ajdt/dev/aspectj-DEVELOPMENT.jar Should have been closed on Jan. 7th... |