harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Blewitt (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-2957) [classlib][pack200] Update pack200 project layout and ensure 1.4 compatibility
Date Thu, 01 Feb 2007 20:53:05 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-2957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12469579

Alex Blewitt commented on HARMONY-2957:

Well, we probably could do that ... but the current build takes it and the other code and
builds it into the same jar. To be honest, if we have a separate source file, want to generate
a seperate Jar and want to compile it with different levels then (to me) it would make sense
to get it out of this project /build.xml and into its own one. But I can't see anyone wanting
to do that soon.

So I'd say just apply the patch and close the bug. I'm going to have to work around the Java5
stuff when it comes to developing that part, but it's a small thing so probably not important.
(at least for now)

Without the Jar, a tweak needs to be made on one of the tests too: in org.apache.harmony.pack200.tests.ClassVersionTest
in the testCorrectVersionOfAdapter, we need to surround it with an "if (in==null) block:

	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
+		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() >= JAVA_15);
+		}

I say, let's apply this patch and the fix to the test, close the bug, and move forwards :-)

Thanks for all your help,


> [classlib][pack200] Update pack200 project layout and ensure 1.4 compatibility
> ------------------------------------------------------------------------------
>                 Key: HARMONY-2957
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2957
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>            Reporter: Alex Blewitt
>         Assigned To: Alexei Zakharov
>            Priority: Minor
>         Attachments: get-rid-of-test-exclusions.patch, pack200-java5.jar, pack200-project.patch,
> This patch adds support for the Eclipse project to be based on 1.4 compatibility, rather
than 1.5 compatibility. I've split the Java source into two; src/main/java and src/main/java5
-- the latter needs to be compiled with a 1.5 system, the former with a 1.4 system. I've amended
the build.xml appropriately to have multiple targets in the appropriate sections, and tested
it out (though I've had to hack the build to get it to work on Mac OS X).
> I'm pretty sure there's a cleaner way of adding source folders than I've done, but I'm
open to suggestions. The src/main/java needs to be compiled on a 1.4 system, and the src/main/java5
needs to be compiled on a 1.5 (or with 1.5 support, anyway). To make life easier for an Eclipse
developer working on the project in 1.4 mode, the java5 has been exported to pack200-java5.jar
and included in with the patch (though, for some reason, the diff tool doesn't like binary
files so I'm having to attach it manually). 
> I've fixed the SegmentTest; I'm not sure if inheriting this again is a case of deleting
the make/excludes* files; but I've not done that in this patch. I can supply another patch
if this is the case.
> I've also written a new test to ensure that the compiled class files are generated with
1.4 compatibility, which should hopefully prevent this form being inadvertently reverted in
the future.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message