Issue Details (XML | Word | Printable)

Key: PAXCONSTRUCT-66
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: mcculls
Reporter: mcculls
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Pax Construct

Add all Maven compilation dependencies to the Eclipse classpath

Created: 14/Feb/08 04:14 AM   Updated: 06/Mar/08 03:14 PM
Component/s: maven-pax-plugin
Affects Version/s: 0.6.4
Fix Version/s: 1.0

External References:
Pax Construct 1.0 released (Confluence: OPS4J)
I've released version 1.0 of Pax Construct (just in time for EclipseCon!) Improvement PAXCONSTRUCT66


 Description  « Hide
Currently, the maven-pax-plugin only adds provided and test dependencies to the Eclipse classpath.

This is done because Eclipse/PDE uses the manifest to determine the Plug-in Dependencies, so we
cannot assume these dependencies will be found by PDE even if they are plug-ins or OSGi bundles.
Therefore we add them as Required Libraries, so they will always be found.

Compile and runtime scope dependencies weren't previously added because it was assumed they
would be used when embedding content inside bundles - and embedded entries already appear on
the classpath, hence no need to add the raw dependencies.

However, people often add bundle dependencies with the default scope (compile) which means that
they wouldn't see these dependencies (as they might expect) - so to make things simpler I've decided
to add all Maven dependencies to the Eclipse classpath.



 All   Comments   Change History   FishEye   Crucible   Builds      Sort Order: Ascending order - Click to sort in descending order
mcculls added a comment - 14/Feb/08 04:15 AM
FYI, here's how I typically use scopes when building bundles in Maven:

"compile" - contains classes/resources that I want to embed
because my code needs them to load and I don't
expect them to be provided by another bundle.

"runtime" - contains classes/resources that I want to embed
because my code might need them during runtime
(via reflection, etc.) and I don't expect them to be
provided by another bundle

"provided" - contains classes/resources that I expect to be
provided by another bundle or the framework

"test" - contains classes/resources used in any unit or
integration tests (ie. not needed to load/run the
bundle - just needed to test with)


mcculls added a comment - 14/Feb/08 04:16 AM
Fixed under commit r10531

mcculls added a comment - 06/Mar/08 03:14 PM
Fix now available in 1.0 release