getArtifacts method in provision does not work the same for maven3

Description

While the getArtifacts method returned only the "direct" artifacts in maven2 now also the childs are returned which leads to a VERY broken behavior

Environment

None

Activity

Show:
StuartS
July 7, 2011, 12:09 PM

You don't describe what the broken behaviour is or provide an example project, which makes it hard to fix.

Note "MavenProject.getArtifacts" should always returns both direct and transitive dependencies both in Maven 2 and Maven 3, but there may be a difference between them wrt. which dependencies are resolved at the time of provisioning. This is because Maven 3 honours the @requiresDependencyResolution mojo setting and makes sure the resolved set matches the request, whereas with Maven 2 the visible set of resolved dependencies could vary depending on what plugins ran before your plugin.

Regardless of the difference between Maven 2 and Maven 3, there was an explicit request to look for bundles in transitive dependencies https://ops4j1.jira.com/browse/PAXCONSTRUCT-123 which means the plugin is currently "working as designed".

Whether we should provide a switch to only look at direct (non-transitive) dependencies is of course another question...

Andreas Pieber
July 8, 2011, 7:26 AM

Hey Stuart,

Thank's for the fast response and sorry for the missing example. The problem is quite simple:

  1. checkout the following version of pax-wicket

  2. mvn clena install

  3. and add in samples/pom.xml <noDependencies>true</> setting for pax-maven-plugin

  4. mvn paxrovision

https://github.com/ops4j/org.ops4j.pax.wicket/commit/6221f52c38b88c70e65b547cf8ad8463e0873b47

This will run felix with all deps (although no-dep is set); then...

  1. checkout the following commit (nothing changed but downgrade to 1.4 of pax-construct)

  2. remove runner folder

  3. run paxrovision again

https://github.com/ops4j/org.ops4j.pax.wicket/commit/b9de1d96a567f800ed4beed26d23d9b16caab07e

Only the direct deps are resolved.

Maybe I missed something but since all deps are resolved although the noDependencies flag is used this sounds rather like a bug to me.

WDYT?

Assignee

Unassigned

Reporter

Andreas Pieber

Labels

None

Components

Fix versions

Affects versions

Priority

Major
Configure