Bug 510601 - Support exporting a jar with eea associated
Summary: Support exporting a jar with eea associated
Status: NEW
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.7   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-17 16:42 EST by Stephan Herrmann CLA
Modified: 2020-06-04 11:15 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Herrmann CLA 2017-01-17 16:42:17 EST
This is a follow-up from bug 509715.

Given: 
Project A contains a jar, declares external annotations for that jar, and puts the jar on the bundle classpath to make it visible also to clients.

Project B has a dependency on A, and some of its classes use classes from said jar.

Wish:
The external annotations hosted in project A should also be considered when accessing the jar from B.


Several levels to a solution:

It seems, if project A exists as a workspace project, JDT is able to properly combine classpath entries so that the external annotations are considered as desired (this is bug 509715).

Next, some people may want to include external annotations via build.properties to the effect that consuming A as binary plug-in will enable use of the same external annotations.

Eventually, some folks probably want to publish external annotations in a separate jar/zip. Then finding the appropriate external annotations for a given binary plug-in should probably be provided via the target platform. Probably similar conventions like for source bundles should automatically associate com.myplugin_123.jar with com.myplugin.eea_123.zip or similar.


This request is orthogonal to the existing bug 459822: that bug propose a means to separate a plugin's external annotation into one location per required (upstream) plug-in. By contrast, this current request speaks about exporting existing external annotations to downstream clients.


This request is motivated by the case of nested jars on the bundle classpath, but eventually also re-exporting dependencies could benefit from a similar (the same?) approach.