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]
