CFV: Project Annotations Pipeline 2.0
jonathan.gibbons at oracle.com
Fri Jun 27 20:45:00 UTC 2014
JDK 8 saw the introduction of three separate language features affecting
annotations and annotation processing.
* Annotations on Java Types 
* Repeating Annotations 
* Lambda Expressions , which introduced new positions for annotations
Although these features were developed independently, there is
non-trivial overlap between them, such as repeated type annotations on a
parameter type in a lambda expression. In addition, these features all
have to work well together with existing features such as the Annotation
Processing API, Language Model API, and javadoc.
The machinery within javac to handle these features needs to be improved.
Therefore, I hereby propose the creation of Project Annotations Pipeline
2.0 with Joel Borggrén-Franck as the Lead and the Compiler group as the
In accordance with the OpenJDK guidelines , this project will provide
a venue to explore improvements to the overall handling of annotations
within the javac compilation pipeline. The project will be entirely
focussed on improving the implementation of the existing language and
API specifications, and is not intended as a venue to change or enhance
The initial Reviewers and Committers will be:
* Jonathan Gibbons
* Joel Borggrén-Franck
* Maurizio Cimadamore
* Eric McCorkle
* Jan Lahoda
* Alex Buckley
Initial Authors will be
* Werner Dietl
* Steve Sides
* Andrey Eremeev
The project will host the following mailing list for developers:
The initial source of this project will be based on a clone of a JDK 9
repository. Changes from the JDK 9 parent will be synced into
Annotations Pipeline 2.0 periodically. Similar to Project Lambda, we
will follow a "commit first, review later" policy, as code will not flow
directly from the Annotations Pipeline 2.0 repositories into the JDK
repositories, but instead will be done by a "curated merge" where select
changes are extracted into new changesets for incorporation into JDK
repositories when they are ready for inclusion.
Votes are due by July 11, 2014, 5PM PDT.
Only current OpenJDK Members  are eligible to vote on this
motion. Votes must be cast in the open on the discuss list.
Replying to this message is sufficient if your mail program
honors the Reply-To header.
For Lazy Consensus voting instructions, see .
More information about the announce