Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipse-pmc] Re: Project request for Eclipse 3.3 plug-in

+1 (bug is: https://bugs.eclipse.org/bugs/show_bug.cgi?id=176537)



                                                                           
             "Walter Harley"                                               
             <wharley@xxxxxxx>                                             
                                                                        To 
             03/06/2007 07:04          <eclipse-pmc@xxxxxxxxxxx>           
             PM                                                         cc 
                                       Philippe P Mulet/France/IBM@IBMFR,  
                                       "Jess Garms" <jgarms@xxxxxxx>       
                                                                   Subject 
                                       Project request for Eclipse 3.3     
                                       plug-in                             
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Per discussion with Philippe, and following much work from Olivier and
Pascal, the APT team would like to ask the PMC for approval for two
additional plug-in projects for Eclipse 3.3:

org.eclipse.jdt.apt.pluggable.core
org.eclipse.jdt.apt.pluggable.tests

The jdt.apt.pluggable.core plug-in will be released as part of the JDT
package.  The test plug-in is just for testing.

Initial committers on these projects should be the same as on
org.eclipse.jdt.apt.core, that is, the members of the JDT team plus the
members of the APT team.


JUSTIFICATION:
==================

The jdt.apt.pluggable.core plug-in is responsible for dispatching Java 6
(JSR-269) annotation processors in IDE mode.  The name derives from the
JSR-269 spec, for "Pluggable Annotation Processing", combined with a
desire to keep all APT functionality within a .apt namespace.

The full APT architecture, then, will look like this:

  org.eclipse.jdt.apt.pluggable.tests - plugin, requires 1.6VM; depends
on org.eclipse.jdt.apt.pluggable.core.  IDE-mode Java 6 tests.
  org.eclipse.jdt.apt.pluggable.core - plugin, requires 1.6VM; depends
on packages exported by org.eclipse.jdt.compiler.apt.  Code to dispatch
Java 6 annotation processors in IDE.
  org.eclipse.jdt.compiler.apt.tests - plugin, requires 1.6VM; depends
on org.eclipse.jdt.compiler.apt.  Batch-mode Java 6 tests, including
most of the tests of shared code such as the typesystem.
  org.eclipse.jdt.compiler.apt - fragment of org.eclipse.jdt.core,
requires 1.6VM, has no Platform class references.  Shared base code for
Java 6 annotation processors, as well as code to dispatch Java 6
processors in batch mode.
  org.eclipse.jdt.apt.ui - plugin, requires 1.5VM; depends on
org.eclipse.jdt.apt.core.  Configuration UI for both flavors of
annotation processing.  (We do not need separate UI for Java 6
processing.)
  org.eclipse.jdt.apt.tests - plugin, requires 1.5VM; depends on
org.eclipse.jdt.apt.core.  IDE-mode Java 5 tests.
  org.eclipse.jdt.apt.core - plugin, requires 1.5VM; depends on
org.eclipse.jdt.core.  Shared code for both flavors of annotation
processing, as well as code to dispatch Java 5 annotation processors in
IDE.  (Java 5 processing isn't supported in batch mode.)


Olivier has sent additional detail on the reasons we have arrived at
this particular architecture.  The quick answer is that all this
complexity is the only way we've found to achieve all the following
constraints:

 - jdt.core compiler must be available for batch-mode compilation on
pre-1.5 JDKs
 - Java Tool interface (JSR199) depends on 1.6 JDK
 - Java 6 annotation processing (JSR269) must be available via command
line and Java Tool interface
 - Java 6 annotation processing uses data provided by callers of Java
Tool interface
 - Java 6 annotation processing depends on 1.6 JDK
 - Java 5 annotation processing depends on 1.5 JDK
 - Java 6 annotation processing shares code and data with Java 5
annotation processing
 - Releng test framework can only run test plug-ins as JUnit Plug-in
Test, i.e. OSGi classloader restrictions are honored

The reason for this late request is that we believed until recently that
the existing architecture was adequate to meet the constraints; on
trying to tie up the loose ends we discovered we were wrong.  (It was
the final constraint that did us in.)

Thanks,
  -Walter

-----Original Message-----
From: Philippe P Mulet [mailto:philippe_mulet@xxxxxxxxxx]
Sent: Monday, March 05, 2007 1:13 PM
To: Walter Harley
Subject: Re: APT plug-in

Actually, simply send a request to the PMC mailing list. I think we
should
name these projects "org.eclipse.jdt.apt.pluggable.*"

_______________________________________________________________________
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.




Back to the top