[jsr294-modularity-eg] 294 EG conf call, 2009-04-29

Alex Buckley Alex.Buckley at Sun.COM
Fri May 1 18:57:10 EDT 2009


// EG members, feel free to add/edit points I haven't noted correctly.
// Apologies for these minutes being late. They also cover 2009-04-22.


* Attendees

Effective 2009-04-22, Bob Lee is Google's sole representative on the EG. 
I thank Michal Cierniak for his long-term involvement in JSR 294.

2009-04-22:
Alex Buckley, Bryan Atsatt, BJ Hargrave, Peter Kriens, Bob Lee,
  Sam Pullara, Richard Hall

2009-04-29:
Alex Buckley, Bryan Atsatt, BJ Hargrave, Peter Kriens, Bob Lee,
  Daniel Leuck   (Apologies: Richard Hall)


* Reference Implementation

The RI of JSR 294 is hosted by the OpenJDK Jigsaw project:

   http://openjdk.java.net/projects/jigsaw/

The OpenJDK Jigsaw project hosts both the RI of JSR 294 (javac and 
Hotspot) and the implementation of the Jigsaw module system. This is 
analogous to the OpenJDK Compiler project, where javac lives long-term. 
The Compiler project hosts a single codebase that consists of the RI of 
the Java language and an implementation of a library mechanism called 
'classpath'. 'classpath' does not appear in the spec of the language, 
but naturally its code lives near the RI of the language.

Additions to the java.* hierarchy are proposed for the RI:

   http://cr.openjdk.java.net/~mr/jigsaw/api/


* Recap of EG agreements w.r.t. accessibility

- Runtime modules should be able to span classloaders, allowing OSGi to
   offer strong encapsulation across multiple bundles.

- Module membership should not appear in source and classfiles, allowing
   OSGi to infer it based on membership in deployment artifacts.

- Module-private members should be allowed in interfaces.

- 'package' should be allowed as an accessibility modifier.


* Module dependencies

The conference calls of 2009-04-{22,29} saw a tremendous amount of 
free-flowing discussion. I believe the main questions were: (along with 
the *majority* EG view for each answer)

- Does the EG want to define a 'module compilation unit' in the Java
   language, and a corresponding binary representation as a classfile?
   Yes. (The JLS will not fix filenames.)

- Does the EG want a module compilation unit to have multiple sections,
   each containing information specific to a particular module system?
   No.

- Assuming that a module compilation unit contains information for one
   module system only, does the EG want a module compilation unit to
   always identify that module system?
   Yes.

- Does the EG want to agree on universal modularity concepts that
   deserve their own keywords in a module compilation unit?
   Yes. BJ explored this at [1] and Bryan gave syntactic options at [2].

- Does the EG agree that a dependency of one module on another element
   (e.g. another module, package, resource, etc) is sufficiently
   important to justify a 'requires' keyword?
   Yes.

- Does the EG agree that a description of what one module provides to
   other modules (e.g. exported packages in OSGi or module aliases in
   Jigsaw) for use in dependencies is sufficiently important to justify
   a 'provides' keyword?
   Yes.

- Does the EG agree that a reverse dependency, where one module
   describes which other modules may express a dependency on it, is
   sufficiently important to justify a 'permits' keyword?
   No.


* Next meeting

Wednesday 6 May. 10am US West, 1pm US East.

- Specifying module dependencies
- Plans for EDR and J1


Alex

[1]http://altair.cs.oswego.edu/pipermail/jsr294-modularity-eg/2009-May/000277.html
[2]http://altair.cs.oswego.edu/pipermail/jsr294-modularity-eg/2009-April/000275.html


More information about the jsr294-modularity-eg mailing list