Request for feedback on annotation processing API changes made in JDK 9

Joseph D. Darcy joe.darcy at oracle.com
Wed Apr 5 23:31:56 UTC 2017


Hello annotation processing users and authors,

As has been done previously during Java SE 7 and Java SE 8, the JSR 269 
annotation processing API is undergoing a maintenance review (MR) as 
part of Java SE 9.

Most of the API changes are in support of adding modules to the 
platform, both as a language structure in javax.lang.model.* as well as 
another interaction points in javax.annotation.processing in the Filer 
and elsewhere. A small API change was also done to better support 
repeating annotations. A more detailed summary of the API changes as 
well as an issue list is included in the MR material:

http://cr.openjdk.java.net/~darcy/JDK-9-JSR-269-Changes/summary-2017-03-27.html
http://cr.openjdk.java.net/~darcy/JDK-9-JSR-269-Changes/issue-list-2017-03-27.txt

A specdiff of the changes compared to Java SE 8 is also available:

http://cr.openjdk.java.net/~darcy/JDK-9-JSR-269-Changes/specdiff-2017-04-05/

The API changes are intended to be largely compatible with the sources 
of existing processors, their binary linkage, as well as their runtime 
behavior. However, it would be helpful to verify that your existing 
processors work as expected when run under JDK 9. JDK 9 early access 
binaries are available for download:

     https://jdk9.java.net/download/

The current build, b163, includes all planned changes to existing types. 
The next build, b164, scheduled to be available later this week will 
also include the type javax.annotation.processing.Generated. The new 
type javax.annotation.processing.Generated is intended to be a drop-in 
replacement for javax.annotation.Generated. (The type 
javax.annotation.Generated is in a module no longer visible by default.)

Please report experiences running processors under JDK 9 and feedback on 
the API changes.

Thanks,

-Joe


More information about the compiler-dev mailing list