[
https://issues.apache.org/jira/browse/FELIX-1039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12699123#action_12699123
]
Stuart McCulloch commented on FELIX-1039:
-----------------------------------------
I really think this needs to be raised with the Maven team, because the
maven-bundle-plugin doesn't directly participate in the Maven resolution
process. Instead Maven reads the components.xml document from the
maven-bundle-plugin to identify the packaging type, update the lifecycle, etc.
- that's really the only input we have on dependency resolution in the reactor.
The components.xml document in the maven-bundle-plugin was written based on the
published Maven documentation and AFAIK there is nothing wrong with it. So
technically there is nothing we can really do from here, the resolution you
mention in your issue happens before any of our code gets run.
If there is a problem with our components.xml I'd be happy to change it, but
again I can't see any such issue based on the docs. BTW, have you enabled the
bundle lifecycle in your plugin descriptor?
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.0.0</version>
<extensions>true</extensions> <!-- this tells Maven to read our
components.xml -->
</plugin>
because without <extensions>true</extensions> you will have problems.
Also there have been several related issues regarding custom (ie. non-core)
packaging types:
http://jira.codehaus.org/browse/MNG-2140
http://jira.codehaus.org/browse/MNG-2426
(and several more, but they should be fixed)
furthermore I tend to use "mvn install" rather than rely on "mvn package" in
the reactor, because of:
http://jira.codehaus.org/browse/MNG-2720
but it looks like this was fixed in 2.1.0
> Inconsistency packaging vs. type
> --------------------------------
>
> Key: FELIX-1039
> URL: https://issues.apache.org/jira/browse/FELIX-1039
> Project: Felix
> Issue Type: Bug
> Components: Maven Bundle Plugin
> Affects Versions: maven-bundle-plugin-2.0.0
> Environment: Maven-2.1.0
> Reporter: Thomas Diesler
>
> The Maven Bundle Plugin uses
> <packaging>bundle</packaging>
> Scenario #1 - dependency uses type=bundle
> <dependency>
> <groupId>org.jboss.osgi</groupId>
> <artifactId>jboss-osgi-common</artifactId>
> <version>${version}</version>
> <type>bundle</type>
> </dependency>
> with type=bundle the the dependency is resolved correctly from the the build
> reactor.
> 'mvn package' succeeds. Note, the artefact is not yet in the local repository.
> Scenario #2 - dependency uses unspecified type
> <dependency>
> <groupId>org.jboss.osgi</groupId>
> <artifactId>jboss-osgi-common</artifactId>
> <version>${version}</version>
> </dependency>
> 'mvn package' fails if the artefact is not yet in the local repository
> 'mvn install' succeeds
> Scenario #3 - the dependent bundle is not part of the reactor build
> 'mvn package' or 'mvn install' will always fail when the dependency is
> declared with type=bundle
> Fazit:
> If you declare the dependency with type=bundle, the dependency cannot be
> resolved from the repository.
> If you don't declare a dependency type, the dependency can only be resolved
> from the repository. 'mvn package' will fail if the dependency is not in the
> repository.
> Workaround:
> Don't use type=bundle in the dependency and always install. i.e. 'mvn install'
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.