You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Stuart McCulloch (JIRA)" <ji...@apache.org> on 2008/01/30 11:40:37 UTC

[jira] Closed: (FELIX-449) Add option to limit the classpath passed to BND to just the local project (ie. target/classes)

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

Stuart McCulloch closed FELIX-449.
----------------------------------


> Add option to limit the classpath passed to BND to just the local project (ie. target/classes)
> ----------------------------------------------------------------------------------------------
>
>                 Key: FELIX-449
>                 URL: https://issues.apache.org/jira/browse/FELIX-449
>             Project: Felix
>          Issue Type: Improvement
>          Components: Maven Bundle Plugin
>    Affects Versions: 1.0.0
>            Reporter: Stuart McCulloch
>            Assignee: Stuart McCulloch
>         Attachments: FELIX_449_20080109.txt, validator-MANIFEST-bundle-excludeDependencies.MF, validator-MANIFEST-bundle.MF, validator-MANIFEST-normal.MF
>
>
> Email thread from Apache Commons:
> On Dec 28, 2007 12:35 PM, Carsten Ziegeler <cz...@apache.org> wrote:
> > Hi,
> >
> > in the meantime Stuart fixed the problem with the maven bundleplugin, so
> > I think we can give it a test drive :)
> >
> > Attached is a patch for the parent pom of commons and one to demonstrate
> > how to add support for OSGi to commons-lang.
> >
> > The changes to the parent pom are minimal: it just adds the maven
> > bundleplugin from the Apache Felix project. We currently need to use a
> > snapshot version, but a release is comming soon.
> > Besides adding the plugin, the patch also configures the bundle symbolic
> > name for all modules. The symbolic name is the unique identifier which
> > should follow java package naming. The best value is to use something
> > like "org.apache.commons.{artifactId}" where artifact id is commons-lang
> > or commons-collections etc.
> >
> > The patch to commons lang is also very simple. It changes the parent pom
> > to the current snapshot (which includes the changes from above) and sets
> > the packaging to bundle - this ensures that the bundleplugin runs and
> > creates the resulting jar file. So the bundleplugin replaces the maven
> > jar plugin. If you leave the packaging as "jar" the bundleplugin will
> > not run.
> > The last part of the patch adds the configuration to the bundleplugin.
> > The export "*" exports all packages definied in this module for other
> > bundles, so all classes are public. All packages are marked with the
> > current version which allows to run different versions in parallel.
> > The imports are not specified as they are calculated automatically by
> > the bundleplugin.
> >
> > And that's it :)
> >
> > The changes to the other projects should be similar.
> I tried using the bundle plugin (I checked out and built the latest
> from svn) with Commons Validator and it produced the following
> MANIFEST.MF:
>    http://people.apache.org/~niallp/commons-osgi/commons-validator-MANIFEST.MF
> It seems to have picked up some Manifest entries from BeanUtils  - for example:
> Extension-Name: org.apache.commons.beanutils
> Implementation-Version: 1.6
> Specification-Title: Jakarta Commons Beanutils
> Implementation-Title: org.apache.commons.beanutils
> Niall
> (N.B. The BeanUtils 1.7.0 jar has version incorectly specifying 1.6 in
> its manifest.
> > Carsten
> >
> >
> > --
> > Carsten Ziegeler
> > cziegeler@apache.org
> >
> > Index: /Users/cziegeler/Developer/workspaces/default/commons-proper/commons-parent/pom.xml
> > ===================================================================
> > --- /Users/cziegeler/Developer/workspaces/default/commons-proper/commons-parent/pom.xml (revision 605909)
> > +++ /Users/cziegeler/Developer/workspaces/default/commons-proper/commons-parent/pom.xml (working copy)
> > @@ -159,6 +159,12 @@
> >            <artifactId>maven-release-plugin</artifactId>
> >            <version>2.0-beta-7</version>
> >          </plugin>
> > +        <plugin>
> > +          <groupId>org.apache.felix</groupId>
> > +          <artifactId>maven-bundle-plugin</artifactId>
> > +          <version>1.1.0-SNAPSHOT</version>
> > +          <inherited>true</inherited>
> > +        </plugin>
> >        </plugins>
> >      </pluginManagement>
> >      <plugins>
> > @@ -194,6 +200,15 @@
> >            <jdkLevel>${maven.compile.source}</jdkLevel>
> >          </configuration>
> >        </plugin>
> > +      <plugin>
> > +        <groupId>org.apache.felix</groupId>
> > +        <artifactId>maven-bundle-plugin</artifactId>
> > +        <configuration>
> > +          <instructions>
> > +            <Bundle-SymbolicName>org.apache.commons.${pom.artifactId}</Bundle-SymbolicName>
> > +          </instructions>
> > +        </configuration>
> > +      </plugin>
> >      </plugins>
> >    </build>
> >
> >
> > Index: /Users/cziegeler/Developer/workspaces/default/commons-proper/lang/pom.xml
> > ===================================================================
> > --- /Users/cziegeler/Developer/workspaces/default/commons-proper/lang/pom.xml   (revision 605909)
> > +++ /Users/cziegeler/Developer/workspaces/default/commons-proper/lang/pom.xml   (working copy)
> > @@ -22,13 +22,14 @@
> >    <parent>
> >      <groupId>org.apache.commons</groupId>
> >      <artifactId>commons-parent</artifactId>
> > -    <version>5</version>
> > +    <version>6-SNAPSHOT</version>
> >    </parent>
> >    <modelVersion>4.0.0</modelVersion>
> >    <groupId>commons-lang</groupId>
> >    <artifactId>commons-lang</artifactId>
> >    <version>2.4-SNAPSHOT</version>
> >    <name>Commons Lang</name>
> > +  <packaging>bundle</packaging>
> >
> >    <inceptionYear>2001</inceptionYear>
> >      <description>
> > @@ -401,6 +402,16 @@
> >            <tarLongFileMode>gnu</tarLongFileMode>
> >          </configuration>
> >        </plugin>
> > +      <plugin>
> > +        <groupId>org.apache.felix</groupId>
> > +        <artifactId>maven-bundle-plugin</artifactId>
> > +        <extensions>true</extensions>
> > +        <configuration>
> > +          <instructions>
> > +            <Export-Package>*;version=${pom.version}</Export-Package>
> > +          </instructions>
> > +        </configuration>
> > +      </plugin>
> >      </plugins>
> >    </build>
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail: dev-help@commons.apache.org
> >
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org

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