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

Niall Pemberton updated FELIX-449:
----------------------------------

    Attachment: validator-MANIFEST-bundle-excludeDependencies.MF
                validator-MANIFEST-bundle.MF
                validator-MANIFEST-normal.MF

Thanks Stuart 

yes, I did use:

   <Export-Package>*;version=${pom.version}</Export-Package> 

- I tried the patch and that seems to work - the only caveat is that I don't 
currently use OSGi :(

For info, I'm attaching the "normal" commons valdiator MANIFEST, one generated 
and versions both with and without the new excludeDependencies option set.

So this looks like it resolves out issue. The only comment I would make is that 
when the excludeDependencies is not set (false) it still doesn't seem right 
that the non-OSGi Manifest entries are from BeanUtils rather than Validator:

Specification-Title: Jakarta Commons Beanutils
Specification-Version: 1.6
Implementation-Version: 1.6
Extension-Name: org.apache.commons.beanutils
Implementation-Title: org.apache.commons.beanutils


> 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 <[EMAIL PROTECTED]> 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
> > [EMAIL PROTECTED]
> >
> > 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: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

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

Reply via email to