Hi,

I'd like to discuss enhacements to the Annotation Processing API for modules. My current sketch is here (against jigsaw/jake):
http://cr.openjdk.java.net/~jlahoda/8072988/webrev.00/

This patch augments Filer methods with variants that take a "module" parameter, allowing to generate classes/resources to a particular module when javac is compiling multiple modules. The existing variants of the methods try to infer the target module from the given package and originating elements (see JavacFiler.checkOrInferModule).

This patch should also include module-infos in RoundEnvironment.getRootElements.

This patch does not allow creating new module-infos. My question is if that should be supported, and how that should work. There are several possible scenarios which we could possibly support: -creating the module-info while compiling for the unnamed module, converting the compilation to a module (single-module) compilation

-creating the module-info while in multi-module mode (possibly compiling multiple modules at once), for a directory that exists on the modulesourcepath, possibly containing some source files, but no module-info.java. The tricky part is how to work with the sources until the module-info.java.

-creating whole modules from scratch in multi-module mode (i.e. no part of the module would exist, and would be completely created by the annotation processor). Could be tricky with incremental compilation.

Any comments on these or on the patch above would be wholeheartedly welcome.

Thanks,
   Jan

Reply via email to