Modules merging support in ClassAnalyzer
Mandy.Chung at Sun.COM
Wed Oct 28 11:06:46 PDT 2009
With Mark's suggested syntax, I'll remove the two-level naming scheme.
The syntax would allow a module to include both modules and classes and
it should not be difficult for the tool to support that.
Alex Buckley wrote:
> Hi Mandy,
> Is a group module expected to have only modules as its members, or
> both classes and modules?
> Are the modules in a group module expected ever to be group modules
> themselves? Or is it strictly a two-level (group name:module name)
> Mandy Chung wrote:
>> Mark, Alan,
>> I have implemented the modules merging support in ClassAnalyzer. The
>> syntax to specify the group module (i.e. enclosing module) for a
>> module is to prepend the group name to the module name separated by
>> ":" (i.e. <group name>:<module name>. The group name is optional.
>> For example, "jdbc" is a group module containing jdbc-base and
>> jdbc-enterprise whereas httpserver module itself is considered as a
>> single group. The group name and the module name have to be unique.
>> module = jdbc:jdbc-base
>> include = java.sql.*
>> module = jdbc:jdbc-enterprise
>> include = javax.sql.XA* javax.sql.rowset.**
>> module = httpserver
>> include = com.sun.net.httpserver.** sun.net.httpserver.**
>> Classes in jdbc-base and jdbc-enterprise will be merged to form the
>> classlist of the jdbc group module. The class analyzer will generate
>> <group>.summary and <group>.dependencies files. It can generate
>> <group>.classlist file but it currently doesn't. We will use the
>> fine-grained module classlist for the build and so <group>.classlist
>> may not be needed.
>> It also generates groups.summary and groups.dot (like modules.summary
>> and modules.dot) and they show the module dependencies in the group
>> level (or the module itself if group is not specified). e.g.
>> jdbc -> enterprise-base
>> jdbc -> jaxp-parsers
>> jdbc -> jndi
>> jdbc -> logging
>> httpserver -> logging
>> httpserver -> security-jsse
>> Any comment/opinion on this syntax?
>> Alan suggests to remove the "module" key and instead have the module
>> name quoted in a square bracket like this:
>> include = java.sql.*
>> I don't have any objection to this syntax change. I can make the
>> change along with the modules merging support.
More information about the jigsaw-dev