Hello Ernie.

> Putting
> module-info back on the shelf, I like the simplicity of -proc:full.

- hold on, module-info and annotation processors are actually deeply connected!
- the old habit of putting the annotation processor next to the code
actually doesn't work with module-info well
- because `requires` should reflect the runtime environment of a module
- however when there is an annotation `Processor` then there are "two
runtime environments"
   - one when the JAR actually runs
   - one when its annotation processor runs
- such a "dual environment" cannot be expressed in module-info!
- as such the modern solution is to split annotation processor into
its own module JAR file
   - then the processor JAR `requires java.compiler` and co.
   - so it is ready for its "runtime inside of javac"
   - e.g. not the way openide-util-lookup & co. does it in NetBeans
- however when you split the annotation processor off the API JAR,
then `-proc:full` is no longer useful...

I guess the need for `-proc:full` option is a result of some CVE
reported to Java platform group. However even from point of
module-info the `-proc:full` option makes no sense.
-jt

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to