Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipse-dev] Export-Package and You...


It has recently become apparent that various Eclipse teams have not been following the convention of exporting all packages in their plugins.  Back in the 3.1 time frame, while adopting the MANIFEST.MF from of plugin description, we as a team adopted the convention quoted below.  There are several plugins now in 3.2 which have deviated from this model.  Note that PDE, as always, includes something to help here.  The PDE Tools > Organize Manifest operation will do the work for you, all you have to do is invoke the operation from time to time.  Teams should review their manifests and package lists to ensure that the are following the convention.  Much to Tod's dismay and Sonia/Kim's delight this is NOT cause for rebuilds in 3.2 unless someone finds a particularly egregious case.  The problems should however be fixed for 3.2.1.

Jeff

Original convention statement from http://dev.eclipse.org/mhonarc/lists/eclipse-dev/msg07092.html (April 8, 2005)

There is still some confusion around the Export-Package list in the MANIFEST.MF.  Allow me to clarify the situation for all Eclipse SDK plugins.

*   ALL Eclipse SDK plugins must list ALL of their packages in their MANIFEST.MF files.  
*   API or not.  If you have a package on your plugin's classpath, it must be listed.  
*   New?  List it!  Old?  List it!  Borrowed from a friend? List it!  

Exceptions to this model should be taken up with the PMC.

Notice that this puts us in exactly the same situation as we have always been in.  Everyone has the ability to see everything.  As we have seen in the past couple days, the community's desire/need for the freedom to access non-API is overwhelming.  In fact, this forms a critical part of the Eclipse ecosystem allowing experimentation and investigation.

This approach is NOT at odds with, and is fundamentally separate from, our ongoing work to get control over the API and help developers stay on "the right path".  That effort is supported by the addition of the component.xml files, the use of "x-internal" and "x-friends" annotations on export entries and the PDE/JDT work to more accurately model the runtime classpath at development time.  

All teams please review your Export-Package lists and ensure that all packages are listed correctly.

Back to the top