Index: /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/.classpath =================================================================== --- /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/.classpath (revision 501362) +++ /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/.classpath (working copy) @@ -6,6 +6,5 @@ - Index: /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/ClassVersionTest.java =================================================================== --- /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/ClassVersionTest.java (revision 501362) +++ /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/src/test/java/org/apache/harmony/pack200/tests/ClassVersionTest.java (working copy) @@ -25,38 +25,42 @@ import org.apache.harmony.pack200.Segment; public class ClassVersionTest extends TestCase { + private static final int JAVA_15 = 49; + public void testCorrectVersionOfSegment() throws IOException { - InputStream in = Segment.class.getResourceAsStream( - "/org/apache/harmony/pack200/Segment.class"); + InputStream in = Segment.class + .getResourceAsStream("/org/apache/harmony/pack200/Segment.class"); DataInputStream din = new DataInputStream(in); - assertEquals(0xCAFEBABE,din.readInt()); + assertEquals(0xCAFEBABE, din.readInt()); din.readShort(); // MINOR -- don't care - assertTrue("Class file has been compiled with Java 1.5 compatibility" + - " instead of 1.4 or lower",din.readShort() < 49); // 49 = Java 1.5 + assertTrue("Class file has been compiled with Java 1.5 compatibility" + + " instead of 1.4 or lower", din.readShort() < JAVA_15); } - public void testCorrectVersionOfTest() throws IOException { - InputStream in = Segment.class.getResourceAsStream( - "/org/apache/harmony/pack200/tests/ClassVersionTest.class"); + public void testCorrectVersionOfTest() throws IOException { + InputStream in = Segment.class + .getResourceAsStream("/org/apache/harmony/pack200/tests/ClassVersionTest.class"); DataInputStream din = new DataInputStream(in); - assertEquals(0xCAFEBABE,din.readInt()); + assertEquals(0xCAFEBABE, din.readInt()); din.readShort(); // MINOR -- don't care - assertTrue("Class file has been compiled with Java 1.5 compatibility" + - " instead of 1.4 or lower",din.readShort() < 49); // 49 = Java 1.5 + assertTrue("Class file has been compiled with Java 1.5 compatibility" + + " instead of 1.4 or lower", din.readShort() < JAVA_15); } - public void testCorrectVersionOfAdapter() throws IOException { + public void testCorrectVersionOfAdapter() throws IOException { // tests that both the file is on the classpath and that it's been - // compiled correctly, but without actually loading the class - InputStream in = Segment.class.getResourceAsStream( - "/org/apache/harmony/pack200/Pack200Adapter.class"); - DataInputStream din = new DataInputStream(in); + // compiled correctly, but without actually loading the class + InputStream in = Segment.class + .getResourceAsStream("/org/apache/harmony/pack200/Pack200Adapter.class"); + if (in != null) { // If running in Eclipse and Java5 stuff not built/available + DataInputStream din = new DataInputStream(in); - assertEquals(0xCAFEBABE,din.readInt()); - din.readShort(); // MINOR -- don't care - assertTrue("Class file needs 1.5 compatibility", - din.readShort() >= 49); // 49 = Java 1.5 + assertEquals(0xCAFEBABE, din.readInt()); + din.readShort(); // MINOR -- don't care + assertTrue("Class file needs 1.5 compatibility", + din.readShort() >= JAVA_15); + } } } Index: /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/README.txt =================================================================== --- /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/README.txt (revision 0) +++ /Users/alex/Documents/Harmony/Workspace/Harmony/trunk/modules/pack200/README.txt (revision 0) @@ -0,0 +1,11 @@ +The java5 source directory are files that need to be compiled under Java 5. +Currently, they're not visible in the Eclipse project. +At build time, the contents of the src/main/java5 project are be added to the +build (with a 1.5 target) and the src/main/java should be compiled with a +1.4 target. + +The other approach would be to create two projects; one pack200 project +and one pack200-java5 project, each with different settings. But given +the amount of difficulty it's taken to even get the pack200 split out +from the archive project, I really wouldn't hold my breath about that +getting anywhere any time soon.