Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-dev] Re: normalizing pm.jar and rt.jar in daily builds

Hi -

briefly:

The nightly builds use build-new.xml, so the build.xml changes had no effect. Unless Pat or Tarak say I should leave it to someone else, I'll make a new target in build-new.xml to run JUnit tests on normalized pm.jar during automated builds. That won't support .sh or .cpp test clients and will require running the tests twice, but changing the existing targets would be too invasive in the short term.

details:

Integrating pack200 into the build for test purposes is non-trivial because classpaths everywhere (including .sh and .cpp files) assume directories (not jar files), and all task dependencies in Ant must be coded explicitly.

Rather than changing those, I'd add a new "release-test" target to run the current JUnit tests with a packed/normalized version of pm.jar. I would not recommend changing the .sh or .cpp clients for 2.0.1 or supporting normalized classes for all the many ways that people can run tests; the work is not worth the incremental validation.

So, just to review a bit before I do the build integration. (I assume this is a priority - Pat/Tarak, correct me if I'm wrong.)

As I understand it, the nightly build uses build-new.xml, so build.xml changes have no effect on the daily builds yet.

We aim to test with the binaries as delivered to the user. Just so I'm clear, the process is

- build jars normally
- normalize (pack, unpack, and pack again)
- test or wrap up for install

I.e., the normalized jars
- run correctly in our 1.4.2 VM
  (I didn't find the pack200 docs to state explicitly that
   it is compatible with pre-1.5 .class file formats)
- are ready for the installer

For now, we know pack200.exe is a standalone executable, so I will check it in to mailclient3/lib. (Longer-term I expect direct support in an Apache Ant task.)

Test-wise, I'll only support AllTests with a normalized pm.jar.

Wes

Bhasker C V wrote:

Hi,

1.   The following changes have gone in for daily build process.

In   build.xml  (under mailclient3)
 a target by name "pack" has been added.
 This target depends on the traditional "pm.jar" target
The pack target is to normalize the pm.jar after it is created by "pm.jar" target.

Currently the changes have been made in such a way that even if the pack200 tool (which is used
       for normalizing the jar) is not present, build still continues after
       notifying that it could not find pack200.exe

In Makefile (under mailclient3)

     The pm.jar target was made using the target jar
      the jar target had the command
      >>> ant pm.jar
      this has been changed to
       >>> ant pack


these 2 changes does not create problems in the developer build process.

2.  No changes have been done to the new ant build file build-new.xml.
Tarak mentioned that Wes has a new build process for mailclient3.
Wes, could you please incorporate similar change in build-new.xml?
If not, let me know, and I'll take care of it.




Back to the top