[ https://issues.apache.org/jira/browse/FELIX-899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Atkinson updated FELIX-899: --------------------------------- Attachment: projects.tar.bz2 Attached are the two projects I describe previously. > 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 > Attachments: projects.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.