Bug 578513 - Support for additional.testBundles
Summary: Support for additional.testBundles
Status: NEW
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.22   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-01 10:16 EST by Christoph Laeubrich CLA
Modified: 2022-02-01 10:16 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Laeubrich CLA 2022-02-01 10:16:19 EST
If I open a Manifest and choose Dependencies there is a section called:

"Automated Management of Dependencies"

here I can add bundles and these effects:

1) build.properties has now an entry 

additional.bundles = biz.aQute.bndlib

2) The Plugin-Dependecies now contains the bundle and all its dependencies

3) If I run a product and/or runconfiguartion PDE adds everything that I might be using as a require-bundle or import package

This feature is already abused on many places to put "things for test" on the classpath but of course especially (3) is undesired and this is very easy got wrong. Also the recent discussions about 'testing' bundles has shown there is some demand actually use some other bundle as a "test-library" (even though it is a bundle).

My proposal therefore is to accept that de-factor people already using PDE in that way but make this more explicit and "tool-save" (e.g. for tycho):

1) There should be a new section called "Additional Test Dependencies"
2) I can add/remove items there as with the "Automated Management of Dependencies"
3) build.properties record those as 'additional.testBundles'
4) they are added (with their dependencies) to the Plugin-Dependecies but get the <test> classpath attribute (dependencies that are already added on other ways are just kept as-is).
5) no further processing is done as adding imports or alike
6) when running a test as plugin all these are added to the generated equinox-dev-classpath of that bundle so they appear as if I have had them embedded in side the bundle.

Please let me know if any details are required.