[jsr294-modularity-eg] 294 EG conf call, 2009-07-08

Alex Buckley Alex.Buckley at Sun.COM
Wed Jul 8 14:41:52 EDT 2009


* Attendees

Alex Buckley, Bryan Atsatt, Bob Lee, Peter Kriens, BJ Hargrave,
Richard Hall


* Draft of EDR2 materials

Alex sent a draft of the language, classfile, VM, and API specs to the 
EG on 6/28/09. Alex did some minor renaming during the call as points 
were raised. Peter will unify his and BJ's comments and send to Alex.


* Optional directives in module-info.java

Use cases for a reserved 'optional' keyword in module-info.java were 
discussed. Both OSGi and Jigsaw have mandatory and optional 
dependencies. BJ described a client using a logging API may still run if 
the logging implementation is not present. Peter described bnd's 
operation in different environments (Eclipse, Ant, Maven) where 
different entrypoints mean the classes resolved (in JVM Spec terms) 
during any one run are a fraction of all the classes statically 
referenced from bnd's code. Reserving the 'optional' keyword was agreed.


* Annotations at compile-time and runtime

Peter pointed out that when code uses an annotation whose annotation 
type has retention policy of SOURCE, the annotation type needs to be 
available at compile-time --> module-info.java must express a dependency 
on the annotation type's module. But since the annotation type is 
guaranteed not to be needed at runtime, the dependency in 
module-info.java is arguably redundant.

Peter claims this is a flaw in the 294 model of unifying compile-time 
and runtime visibility, and will document it further. The counterclaim 
was made that a programmer could well use the 'optional' keyword to 
indicate to a module system that best efforts should be made at 
compile-time but that the annotation type's module is only needed 
"on-demand" at runtime, when the annotated element is reflected over.


* Next meeting

Wednesday 15 July. 10am US West, 1pm US East.


Alex


More information about the jsr294-modularity-eg mailing list