felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stuart McCulloch (JIRA)" <j...@apache.org>
Subject [jira] Updated: (FELIX-199) Add a recursive bundle goal to maven plugin to generate osgi bundles for all dependencies
Date Wed, 28 Mar 2007 07:21:32 GMT

     [ https://issues.apache.org/jira/browse/FELIX-199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Stuart McCulloch updated FELIX-199:

    Attachment: FELIX-199-20070328-EXTRA.patch

Hi Carlos,

When I tested the latest version of your patch I found I had additional, unexpected classes
in the generated bundle.

  Scenario:   I want to build a simple bundle from source, which needs the OSGi base classes
to compile
  The pom:   I add the artifact containing the OSGi base classes as a 'provided' dependency
  Old result:   final bundle just contained my classes
  New result:   final bundle contains my classes *and* exploded OSGi base classes

I believe this is a side-effect of using project.getDependencyArtifacts() instead of project.getArtifacts()
- with the old call, the dependencies were evaluated lazily and (as luck would have it) any
artifacts in the provided scope didn't appear in the list at the time the plugin ran. So in
my example the OSGi classes were used in the compilation, but not passed to bnd via builder.setClasspath().

With the new call, it immediately sees the direct dependencies (including the OSGi artifact)
and adds them to the classpath passed to bnd - which then dutifully explodes the classes as
part of the bundle process (I believe).

I have a proposed solution, which I have attached to this comment:  ignore dependency artifacts
of type bundle

This would let users add OSGi dependencies to the compilation classpath, without adding them
to the list of jars passed to bnd. For example:


I'm not sure if there's another way to get round this (perhaps something in bnd?) because
sometimes you'd want the classes included (say when wrapping), and other times you wouldn't
(say when you import and use another bundle)

Anyway, would appreciate your insight :)

> Add a recursive bundle goal to maven plugin to generate osgi bundles for all dependencies
> -----------------------------------------------------------------------------------------
>                 Key: FELIX-199
>                 URL: https://issues.apache.org/jira/browse/FELIX-199
>             Project: Felix
>          Issue Type: New Feature
>          Components: Maven Bundle Plugin
>            Reporter: Carlos Sanchez
>         Attachments: FELIX-199-20070328-EXTRA.patch, FELIX-199-20070328.patch, FELIX-199.20070325.patch,
org.apache.maven.maven-model_2.1.0.SNAPSHOT.jar, recursivebundle.diff.txt
> Running
> mvn org.apache.felix:maven-bundle-plugin:recursivebundle
> in a project will convert each dependency, including transitive ones, to an OSGi bundle
in the target dir. It does not include dependent libraries in the bundle, so each bundle matches
the corresponding jar.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message