On 05/11/2016 09:21 AM, Stephane Epardaud wrote:
I don't understand the problem with the module-info.java class. We also
repackage jars to add module descriptors (for OSGi, Maven and JBoss
Modules) and for Jigsaw we generate the `module-info.class` file when we
need to repackage them. Between this binary format and XML or
MANIFEST.MF, I don't see why it makes a big difference?
I wouldn't recompile the module, though, just as I don't recompile them
when we change the other manifests.
If you have a .class file, you have to generate it with something. I
think Alan is arguing that it should be done with javac, but we'd likely
end up using something else. In our case, just editing an XML file and
doing "git commit" is easier than running a tool to read and update a
binary descriptor inside an artifact though, particularly as we don't
package the actual artifacts. Thus we'd have to package a textual
descriptor of some sort, to which we'd then have to apply a tool in
order to update our final packaged artifacts, making it that much more
difficult to use artifacts that already exist (e.g. from Maven).
In addition it is common for our users to examine or modify module
descriptors; having them be external is very useful for this purpose.
We also allow features like specification of properties for modules
which can be read, specification of module permission sets, and
filtering of artifact resources and module dependencies in various ways.
--
- DML