On Jan 9, 2008 5:35 PM, Stuart McCulloch <[EMAIL PROTECTED]> wrote:
> On 09/01/2008, Niall Pemberton <[EMAIL PROTECTED]> wrote:
>
> > On Jan 9, 2008 6:11 AM, Stuart McCulloch <[EMAIL PROTECTED]>
> wrote:
> > > Hi Carsten / Niall,
> > >
> > > I've mocked up a quick patch and attached it to
> > > http://issues.apache.org/jira/browse/FELIX-449
> > > could you give it a spin and see if it resolves the problem? (see below
> for
> > > the new config option)
> >
> > Hey, thanks for the quick response - I'll give it a spin and put
> > feedback on the Jira ticket FELIX-449
>
> thanks, I've made some improvements based on your feedback - can you build
> the plugin from svn and try it out?

Looks good from the "non-OSGi" manifest entries PoV (using
excludeDependencies=false) - its picked up a couple of entries from
BeanUtils (e.g. Extension-Name) - but I could sort those out now by
specifying them explicitly. The one thing that strikes me though are
the version numbers are all the same - I don't really know how OSGi
works, but for example (if I use excludeDependencies=false) I would
have expected to see the dependencies version numbers somewhere in the
export/import statements - for example Validator 1.4-SNAPSHOT depends
on BeanUtils 1.7 - but all the version numbers spcify 1.4.0.SNAPSHOT -
is this correct?

Niall

> > Niall
> >
> > > --
> > > Cheers, Stuart
> > >
> > > ---------- Forwarded message ----------
> > > From: Stuart McCulloch (JIRA) <[EMAIL PROTECTED] >
> > > Date: 9 Jan 2008 13:59
> > > Subject: [jira] Updated: (FELIX-449) Add option to limit the classpath
> > > passed to BND to just the local project (ie. target/classes)
> > > To: dev@felix.apache.org
> > >
> > >
> > >      [
> > >
> https://issues.apache.org/jira/browse/FELIX-449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
> > > ]
> > >
> > > Stuart McCulloch updated FELIX-449:
> > > -----------------------------------
> > >
> > >     Attachment: FELIX_449_20080109.txt
> > >
> > > Suggested patch - when applied to trunk, you can use:
> > >
> > >
> > >       <plugin>
> > >         <groupId>org.apache.felix</groupId>
> > >         <artifactId>maven-bundle-plugin</artifactId>
> > >         <extensions>true</extensions>
> > >         <configuration>
> > >           <excludeDependencies>true</excludeDependencies>
> > >
> > >           <instructions>
> > >             <Export-Package>*;version=${pom.version}</Export-Package>
> > >           </instructions>
> > >         </configuration>
> > >       </plugin>
> > >
> > >  to bundle the project classpath, excluding dependencies.
> > >
> > > PS: feel free to suggest alternative names for this option!
> > >
> > > > 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
> > > >
> > > >
> > > > 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.
> > >
> > >
> > >
> >
>
>
>
> --
> Cheers, Stuart

Reply via email to