Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 154110

Summary: Enhance Annotation Processing Tooling
Product: [Eclipse Project] JDT Reporter: John Arthorne <john.arthorne>
Component: APTAssignee: Walter Harley <eclipse>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P4 CC: dimitar.giormov, jgarms, johannes_rieken, kaloyan, karenfbutzke, Konstantin.Scheglov, markus.kell.r, neil.hauge
Version: 3.3Keywords: plan
Target Milestone: 3.3 RC1   
Hardware: All   
OS: All   
Whiteboard:

Description John Arthorne CLA 2006-08-16 13:51:13 EDT
An APT command-line tool should be provided as a complement to the batch compiler and/or Ant javac adapter, in addition to the Java IDE support within release 3.2. APT should also support the new standard Annotation Processing API (JSR 269) introduced in Java SE 6, as opposed to the provisional API from Sun introduced in Java SE 5 that is currently implemented. Also, the APT integration in IDE should be improved in various areas, including editor reconciling and code assist. The editor reconciling experience should work correctly even if the Java builder is not active. Currently, if a processor generates types, those types are ignored during reconcile. Instead, they should be modeled using working copies, and provide the same level of functionality as JDT when autobuild is turned off. Also, on the code-assist front, we should provide a simple API for processors to supply domain specific knowledge to completions inside annotation values. [JDT APT]
Comment 1 Jess Garms CLA 2006-10-03 12:41:49 EDT
We should enable reconcile-time type generation soon in the com.sun.mirror implementation. That way we can find deadlock problems early in the release, rather than having to wait until all of JSR 269 is finished.
Comment 2 Walter Harley CLA 2007-03-28 15:59:18 EDT
This item should be moved to "committed" in the Plan, with some modification.

We will NOT do the following items: 
 - we do not intend an command-line equivalent to the standalone 1.5 apt tool.  Effort is being focused on Java 6 support, which is part of javac; apt applies only to Java 5 annotation processing and will gradually be deprecated by Sun.

We will DEFER the following:
 - we will not be doing any completion assistance in this version, but it would be good to do when time permits.

We WILL do the following:
 - reconcile-time type generation was enabled as of M5.
 - support for the new standard API (JSR269) in both IDE and command line.
Comment 3 Walter Harley CLA 2007-05-14 20:15:29 EDT
This is an open-ended request, but I'm going to draw a line here and say "fixed".  As of RC1 we will have solid support for Java 5 annotation processing, including type generation at reconcile time for processors that opt for it; we will have solid support for Java 6 annotation processing in the batch compiler; and we will have enough support for Java 6 annotation processing in the IDE that processor developers can develop, debug and test their processors, although the user experience is a bit clunky.