[
https://issues.apache.org/jira/browse/FELIX-899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stuart McCulloch resolved FELIX-899.
------------------------------------
Resolution: Fixed
This issue is now fixed in trunk, however I want to run through a few more
tests before deploying a new snapshot
> Version attribute missing from Import-Package on provided dependencies
> ----------------------------------------------------------------------
>
> Key: FELIX-899
> URL: https://issues.apache.org/jira/browse/FELIX-899
> Project: Felix
> Issue Type: Bug
> Components: Maven Bundle Plugin
> Environment: Maven version: 2.0.9
> Java version: 1.6.0_11
> OS name: "linux" version: "2.6.25-gentoo-r7" arch: "amd64" Family: "unix"
> Reporter: Brian Atkinson
> Assignee: Stuart McCulloch
> Fix For: maven-bundle-plugin-1.6.0
>
> Attachments: projects.tar.bz2, projects2.tar.bz2
>
>
> I have been using and testing out the
> maven-bundle-plugin-1.5.0-20081205.125536-1 (SNAPSHOT) and ran across what I
> believe is a bug.
> Suppose there is a project a:a:1.0.0-SNAPSHOT. This project has a single
> class: a.a.A. The bundle plugin has the following instructions:
> <instructions>
>
> <_versionpolicy>[$${version;===;$...@}},$${version;=+;$...@}})</_versionpolicy>
>
> <Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
>
> <Export-Package>$${replace;${Bundle-SymbolicName};\W;.}.*;version=${project.version}</Export-Package>
> </instructions>
> This results in an Export-Package line of:
> Export-Package: a.a;version="1.0.0.SNAPSHOT"
> So far so good. Now suppose there is a project b:b:1.0.0-SNAPSHOT. This
> project depends on a:a:1.0.0-SNAPSHOT (scope: provided) and the project also
> has a single class b.b.B which extends a.a.A. The maven-bundle-plugin is
> given the same instructions as project a:a above. The resulting
> Import-Package line is:
> Import-Package: a.a,b.b;version="[1.0.0,1.1)"
> This is not what is expected. What is expected is the following:
> Import-Package: a.a;version="[1.0.0,1.1)",b.b;version="[1.0.0,1.1)"
> Digging into the code I found that in
> org.apache.felix.bundleplugin.BundlePlugin (trunk rev: 723704) in function
> "protected Jar[] getClasspath( MavenProject currentProject ) throws
> ZipException, IOException" line 708 reads:
> final Collection artifacts = getSelectedDependencies(
> currentProject.getArtifacts() );
> When the plugin is running "currentProject.getArtifacts()" returns an empty
> set. This then causes the classpath not to be set properly when calling BND
> (none of the dependencies are available for reading their manifests). I
> changed the line to use "currentProject.getDependencyArtifacts()" and the
> manifest for b:b was correct.
> I am going to attach a file with two very simple projects which mirror what I
> have described here.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.