Moving from a different thread ...

I'd like to move the pack200 to a separate buildable module, primarily
so that it can be built as its own OSGi bundle and/or Jar, but also to
separate it out from the archive so that e.g. internationalisation
messages etc. don't need to get mixed in.

There's a few dependencies which we need to resolve to make it happen:

java.util.jar.Pack200 (static singleton factory that's used to
instantiate the packager via the system property
java.util.jar.Pack200.Packer
http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/Pack200.html) --
NB this exists at the moment, but I've not implemented a class that
implements the interface.

Class(es) that implements the Pack200.Unpacker/Packer interface.
Obviously will depend on java.util.jar package.

Classes that implement the pack200 functionality (contents of the
current org.apache.harmony.archive.pack200 package). Also depends on
java.util.jar package for e.g. JarEntry etc.

I think it can be set up such that the Pack200.Unpacker/Packer
bindings and the current archive.pack200 can be moved into a module
that has a compile-time dependency on the java.util.jar classes only.
At run-time, the java.util.jar.Pack200 class will need to have access
to the org.apache.harmony.archive.pack200 code, but because it's an
interface, it's not a compile-time dependency.

Also, this separation will allow non-OSGi aware programs to embed the
pack200 jar and resolve the functionality by switching the system
property to use the org.apache...pack200 implementation.

I don't know the best place to put this -- whether it's another module
in the classlib, or whether it should go in a tools directory -- but
the pack200 module will have to have a compile-time dependency on the
archive module, and the archive module will have to have a run-time
dependency on the pack200 module.

What's the best way of moving forward with this?

Alex.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to