AW: How to name modules, automatic and otherwise

Reto Merz reto.merz at abacus.ch
Fri Feb 17 12:01:45 UTC 2017


I like the approach with "from" syntax. It would also great to support from-grouping like this:

module mainlib from com.mycompany {
  requires base;
  requires willow;

  from org.joda {
    requires willow;
    requires willow-one-more;
  }
}

The project I'm working on consists of 187 Maven modules and
has 348 dependencies to external 3th party libs in total.
Some core module will have large module-info files,
grouping would help us to maintain and keep the overview
without additional tools.

Regards
Reto

On 02/17/2017 01:15 AM, Stephan Herrmann wrote:
> On 02/17/2017 12:19 AM, Stephen Colebourne wrote:
> > The simplest and most consistent option is reverse DNS everywhere.
> > Everyone understand it and few will object!
> >
> > An alternative option would be that open source can use short names,
> > but companies "must" use reverse DNS. But this is far from ideal given
> > how projects move from private to public, or how companies merge.
> >
> > Another alternative is some form of group, that may or may not map
> > onto maven's group, where most of the time it does not have to be
> > specified:
> >
> > module mainlib from com.mycompany {
> >   requires base;  // implicit, favours group 'com.mycompany' if there is a
> clash
> >   requires willow;  // uses 'com.mycompany' because there is a clash
> >   requires willow from org.joda;  // explicitly specified, but only
> > needed to resolve a clash
> > }
> 
>  From here, wouldn't it be trivial to change Mark's counter example:
> 
>      module com.bar:foo.data {
>          exports com.bar.foo.data;
>          requires org.hibernate:hibernate.core;
>          requires org.hibernate:hibernate.jcache;
>          requires org.hibernate:hibernate.validator;
>      }
> 
> into a positive example:
> 
>      import org.hibernate:*;
>      module com.bar:foo.data {
>          exports com.bar.foo.data;
>          requires hibernate.core;
>          requires hibernate.jcache;
>          requires hibernate.validator;
>      }
> 
> best,
> Stephan




More information about the jigsaw-dev mailing list