Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

getArtifacts method in provision does not work the same for maven3 [PAXCONSTRUCT-137] #145

Open
ops4j-issues opened this issue Jul 7, 2011 · 2 comments
Labels
Milestone

Comments

@ops4j-issues
Copy link

Andreas Pieber created PAXCONSTRUCT-137

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


Affects: 1.5
Fixed in: 1.7.0
Votes: 1, Watches: 1

@ops4j-issues
Copy link
Author

Stuart McCulloch commented

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...

@ops4j-issues
Copy link
Author

Andreas Pieber commented

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 pax:provision

ops4j/org.ops4j.pax.wicket@6221f52

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 pax:provision again

ops4j/org.ops4j.pax.wicket@b9de1d9

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?

@ops4j-issues ops4j-issues added this to the 1.7.0 milestone Feb 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant