felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konrad Windszus (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-5074) Using org.apache.felix.scr.bnd together with maven-bundle-plugin leads to using the wrong bnd version
Date Wed, 14 Oct 2015 05:59:05 GMT

    [ https://issues.apache.org/jira/browse/FELIX-5074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14956325#comment-14956325
] 

Konrad Windszus commented on FELIX-5074:
----------------------------------------

Hi Pierre,
thanks for testing. Usually you depend on the minimal version of a dependency you need. If
felix.scr.bnd is still compatible with bndlib 2.1.0 you should still depend on exactly that
version. Only if scr.bnd depends on some bndlib 3.0.0 only features you should increase that
dependency. Otherwise you detect incompatibilities only at run time and not at compile time
(e.g. if you leverage new methods being added in 3.0.0). If you still want to increase the
dependency to bndlib 3.0.0 please clearly state, that this plugin is only compatible with
bnd 3+.
Thanks in advance for applying my patch.
Konrad

> Using org.apache.felix.scr.bnd together with maven-bundle-plugin leads to using the wrong
bnd version
> -----------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-5074
>                 URL: https://issues.apache.org/jira/browse/FELIX-5074
>             Project: Felix
>          Issue Type: Bug
>          Components: SCR Tooling
>    Affects Versions: scr bnd plugin 1.4.0
>            Reporter: Konrad Windszus
>         Attachments: pom.xml
>
>
> If I have a POM with a plugin configuration like this
> {code}
> <plugin>
>   <groupId>org.apache.felix</groupId>
>   <artifactId>maven-bundle-plugin</artifactId>
>   <version>3.0.0</version>
>   <extensions>true</extensions>
>   <configuration>
>     <instructions>
>     <!-- support parsing of felix annotations through the felix.scr.bnd plugin -->
>     <_plugin>org.apache.felix.scrplugin.bnd.SCRDescriptorBndPlugin;destdir=target/classes</_plugin>
>     </instructions>
>   </configuration>
>   <dependencies>
>   <!-- https://github.com/apache/felix/tree/trunk/tools/org.apache.felix.scr.bnd -->
>    <dependency>
>      <groupId>org.apache.felix</groupId>
>      <artifactId>org.apache.felix.scr.bnd</artifactId>
>      <version>1.4.0</version>
>    </dependency>
>  </dependencies>
>  </plugin>
> {code}
> Unfortunately {{org.apache.felix.scr.bnd}} depends on {{biz.aQute.bnd:bndlib:jar:2.1.0}}.
Therefore the classpath of maven-bundle-plugin looks like this:
> {code}
> [DEBUG] Populating class realm plugin>org.apache.felix:maven-bundle-plugin:3.0.0
> [DEBUG]   Included: org.apache.felix:maven-bundle-plugin:jar:3.0.0
> [DEBUG]   Included: org.apache.felix:org.apache.felix.scr.bnd:jar:1.4.0
> [DEBUG]   Included: biz.aQute.bnd:bndlib:jar:2.1.0
> [DEBUG]   Included: org.osgi:org.osgi.core:jar:4.3.1
> [DEBUG]   Included: biz.aQute.bnd:biz.aQute.bndlib:jar:3.0.0
> [DEBUG]   Included: org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6
> [DEBUG]   Included: org.easymock:easymock:jar:2.5.2
> [DEBUG]   Included: org.apache.felix:org.apache.felix.utils:jar:1.6.0
> [DEBUG]   Included: org.osgi:org.osgi.compendium:jar:4.2.0
> [DEBUG]   Included: org.slf4j:slf4j-jdk14:jar:1.5.6
> [DEBUG]   Included: org.slf4j:slf4j-api:jar:1.5.6
> [DEBUG]   Included: org.slf4j:jcl-over-slf4j:jar:1.5.6
> [DEBUG]   Included: org.apache.maven.reporting:maven-reporting-api:jar:2.2.0
> [DEBUG]   Included: org.apache.maven.doxia:doxia-logging-api:jar:1.1
> [DEBUG]   Included: junit:junit:jar:4.11
> [DEBUG]   Included: org.hamcrest:hamcrest-core:jar:1.3
> [DEBUG]   Included: commons-cli:commons-cli:jar:1.2
> [DEBUG]   Included: org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4
> [DEBUG]   Included: backport-util-concurrent:backport-util-concurrent:jar:3.1
> [DEBUG]   Included: org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3
> [DEBUG]   Included: org.sonatype.plexus:plexus-cipher:jar:1.4
> [DEBUG]   Included: org.apache.maven:maven-archiver:jar:2.5
> [DEBUG]   Included: org.codehaus.plexus:plexus-archiver:jar:2.1
> [DEBUG]   Included: org.codehaus.plexus:plexus-io:jar:2.0.2
> [DEBUG]   Included: org.codehaus.plexus:plexus-interpolation:jar:1.15
> [DEBUG]   Included: org.apache.maven.shared:maven-dependency-tree:jar:2.1
> [DEBUG]   Included: org.codehaus.plexus:plexus-component-annotations:jar:1.5.5
> [DEBUG]   Included: org.eclipse.aether:aether-util:jar:0.9.0.M2
> [DEBUG]   Included: org.codehaus.plexus:plexus-utils:jar:3.0.10
> [DEBUG]   Included: org.sonatype.plexus:plexus-build-api:jar:0.0.7
> [DEBUG]   Included: org.apache.maven.doxia:doxia-sink-api:jar:1.0
> [DEBUG]   Included: org.apache.maven.doxia:doxia-site-renderer:jar:1.0
> [DEBUG]   Included: org.apache.maven.doxia:doxia-core:jar:1.0
> [DEBUG]   Included: org.codehaus.plexus:plexus-i18n:jar:1.0-beta-7
> [DEBUG]   Included: org.codehaus.plexus:plexus-velocity:jar:1.1.7
> [DEBUG]   Included: org.apache.velocity:velocity:jar:1.5
> [DEBUG]   Included: commons-lang:commons-lang:jar:2.1
> [DEBUG]   Included: oro:oro:jar:2.0.8
> [DEBUG]   Included: org.apache.maven.doxia:doxia-decoration-model:jar:1.0
> [DEBUG]   Included: commons-collections:commons-collections:jar:3.2
> [DEBUG]   Included: org.apache.maven.doxia:doxia-module-apt:jar:1.0
> [DEBUG]   Included: org.apache.maven.doxia:doxia-module-fml:jar:1.0
> [DEBUG]   Included: org.apache.maven.doxia:doxia-module-xdoc:jar:1.0
> [DEBUG]   Included: org.apache.maven.doxia:doxia-module-xhtml:jar:1.0
> [DEBUG]   Excluded: org.apache.maven:maven-core:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-settings:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-plugin-parameter-documenter:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-profile:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-model:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-artifact:jar:2.2.0
> [DEBUG]   Excluded: org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1
> [DEBUG]   Excluded: org.apache.maven:maven-repository-metadata:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-error-diagnostics:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-project:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-plugin-registry:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-plugin-api:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-plugin-descriptor:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-artifact-manager:jar:2.2.0
> [DEBUG]   Excluded: org.apache.maven:maven-monitor:jar:2.2.0
> [DEBUG]   Excluded: classworlds:classworlds:jar:1.1
> {code}
> So the classpath contains both bnd 2.1 and bnd 3.0.
> IMHO the {{felix.scr.bnd}} should not transitively influence the classpath. I guess marking
the dependency to bnd as provided in its pom.xml should do the trick here!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message