Modules merging support in ClassAnalyzer

Alex Buckley Alex.Buckley at Sun.COM
Wed Oct 28 08:50:52 PDT 2009


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) scheme?

Alex

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:
> 
> [base]
> 
> [jdbc:jdbc-base]
> include = java.sql.*
> 
> I don't have any objection to this syntax change.  I can make the change 
> along with the modules merging support.
> 
> Mandy



More information about the jigsaw-dev mailing list