Return-Path: Delivered-To: apmail-felix-dev-archive@www.apache.org Received: (qmail 14676 invoked from network); 12 Jan 2008 05:37:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Jan 2008 05:37:28 -0000 Received: (qmail 79556 invoked by uid 500); 12 Jan 2008 05:37:17 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 79525 invoked by uid 500); 12 Jan 2008 05:37:17 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 79516 invoked by uid 99); 12 Jan 2008 05:37:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Jan 2008 21:37:17 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [202.238.89.67] (HELO leangen.net) (202.238.89.67) by apache.org (qpsmtpd/0.29) with SMTP; Sat, 12 Jan 2008 05:37:04 +0000 Received: (qmail 20489 invoked from network); 12 Jan 2008 05:44:49 -0000 Received: from unknown (HELO SHINFUJI) (192.168.2.3) by leangen.net with SMTP; 12 Jan 2008 05:44:49 -0000 From: "David Leangen" To: Subject: RE: Problems with bundle plugin [Fwd: Re: Support for OSGi] Date: Sat, 12 Jan 2008 14:36:45 +0900 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 In-Reply-To: <81f0d9c0801112059g3a91cf4dp8b756f77bd9c6bcb@mail.gmail.com> Importance: Normal X-Virus-Checked: Checked by ClamAV on apache.org Stuart, I don't know how this renders in your mail client, but it's a real eye sore in plain text and a pain to read... Just thought I'd let you know. (Guess I'm still in the dark ages using plain text...) Cheers, Dave > -----Original Message----- > From: mcculls@gmail.com [mailto:mcculls@gmail.com]On Behalf Of > Stuart McCulloch > Sent: 12 January 2008 14:00 > To: dev@felix.apache.org > Subject: Re: Problems with bundle plugin [Fwd: Re: Support for OSGi] > > > On 11/01/2008, Niall Pemberton wrote: > > > > On Jan 11, 2008 9:50 AM, Stuart McCulloch > > wrote: > > > > > > On 11/01/2008, Niall Pemberton wrote: > > > > > > > > On Jan 10, 2008 5:51 PM, Stuart McCulloch > > > > > > > wrote: > > > > > > > > > > On 10/01/2008, Niall Pemberton wrote: > > > > > > > > > > > > On Jan 10, 2008 2:56 AM, Stuart McCulloch < > > stuart.mcculloch@jayway.net > > > > > > > > > > > wrote: > > > > > > > On 10/01/2008, Niall Pemberton > > wrote: > > > > > > > > > > > > > > > > On Jan 9, 2008 5:35 PM, Stuart McCulloch < > > > > stuart.mcculloch@jayway.net> > > > > > > > > wrote: > > > > > > > > > On 09/01/2008, Niall Pemberton > > > > wrote: > > > > > > > > > > > > > > > > > > > On Jan 9, 2008 6:11 AM, Stuart McCulloch < > > > > > > stuart.mcculloch@jayway.net> > > > > > > > > > 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) > > > > > > > > > > > > > > > > > > > > > if you use Carsten's original suggestion of a global wildcard > > > > export: > > > > > > > > > > > > > > *;version="${pom.version}" > > > > > > > > > > > > > > then you must set excludeDependencies to _true_ otherwise you > > will > > > > pull > > > > > > > in all sorts of other packages and classes from your > > dependencies - > > > > and > > > > > > > your final jarfile will be much larger than the > pre-bundle one. > > > > > > > > > > > > > > - but I could sort those out now by > > > > > > > > specifying them explicitly. > > > > > > > > > > > > > > > > > > > > > FYI, you can always use the: > > > > > > > > > > > > > > > > <_removeheaders>comma,separated,list,of,headers > > > > > > > > > > > > > > instruction to remove unwanted headers - but setting > > Export-Package > > > > to > > > > > > > an explicit package list (or excludeDependencies to > true) means > > that > > > > you > > > > > > > shouldn't get the beanutils stuff to begin with... > > > > > > > > > > > > > > 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-SNAPSHOTdepends > > > > > > > > on BeanUtils 1.7 - but all the version numbers spcify > > > > 1.4.0.SNAPSHOT - > > > > > > > > is this correct? > > > > > > > > > > > > > > > > > > > > > all _exported_ packages will be marked with the same version, > > > > because > > > > > > > you've told Bnd to do this in the above Export-Package > > instruction > > > > (and > > > > > > > where the same package is also imported, the import will then > > use > > > > the > > > > > > > same version). > > > > > > > > > > > > Using "excludeDependencies=false" that makes sense - but for > > > > > > "excludeDependencies=true" I would have thought the import > > statements > > > > > > for dependencies would be specified - which they currently don't > > seem > > > > > > to be. > > > > > > > > > > > > > > > Bnd does not see the excludeDependencies option - all this option > > does > > > > is > > > > > change how much of the Maven classpath the bundleplugin passes to > > Bnd. > > > > > The excludeDependencies option is only there to ease the migration > > to > > > > the > > > > > bundleplugin, so you can start with > > * > > > > > > > > > > If you want the full benefits of the bundleplugin you need to > > understand > > > > how > > > > > Bnd works - it doesn't zip the contents of > target/classes, it pulls > > > > classes > > > > > and > > > > > resources from the classpath into a bundle. > > > > > > > > > > Setting * says to Bnd: put the > > whole > > > > > classpath into the bundle, which would normally include > dependencies > > > > such > > > > > as the beanutils. With excludeDependencies set to true we > only give > > Bnd > > > > the > > > > > local classpath, so you get the bundle you'd expect (ie. just > > > > > target/classes). > > > > > > > > > > However because Bnd works primarily from the classpath, cutting it > > down > > > > to > > > > > the local project means it has no version information about > > > > dependencies, > > > > > although you are free to add this detail yourself using > > > > > > > > > > > > To get the true power of Bnd you need to tell it exactly which > > packages > > > > you > > > > > want to export and which to keep private - you can then pass the > > > > complete > > > > > classpath to Bnd and it will add versioned imports where possible. > > > > > > > > Clearly I have little knowledge in this area, but with maven's > > > > knowledge of dependencies and Bnds capabilities of examining jars it > > > > would seem a good enhancement for the bundle plugin to be able to > > > > generate version numbers for the import statement. Perhaps it would > > > > mean call bnd for each dependency jar, specifying the version > > > > discovered from maven and merging all the results it > generates to come > > > > up with a complete import statement - and that may be OTT. > > > > > > > > > very OTT given that you can already do this :) you just need to be > > explicit > > > and list > > > what packages you want to export and which to keep private - then you > > can > > > pass > > > the whole classpath to Bnd (ie. don't set excludeDependencies) and you > > will > > > get > > > versioned imports where appropriate. > > > > > > also, a lot of the time you don't actually want to depend on a fixed > > version > > > but on > > > a range (ie. to include minor changes with no API breakage) so you'd > > > probably end > > > up setting your own versions anyway.... > > > > > > either way I'd recommend reading Peter's page on Bnd ( > > > http://aqute.biz/Code/Bnd) > > > > You're right and I will try to at some point. At this moment I don't > > use OSGi - just trying to help out getting commons components > > OSGi-enabled. Thanks for all your patience and explanations. > > > just remembered that there is another way to easily add OSGi metadata > without > changing to the new bundle packaging - you can use the manifest > goal to add > it: > > > maven-jar-plugin > > > ${project.build.outputDirectory > }/META-INF/MANIFEST.MF > > > > > org.apache.felix > maven-bundle-plugin > > > bundle-manifest > process-classes > > manifest > > > > > > this will generate a manifest based on your existing build (ie. under > target/classes) > and add the resulting OSGi enabled manifest during the normal jar > packaging > step :) > > Btw, update wrt. versioning - we only version imports if the providing > jarfile contains > OSGi metadata, otherwise we use the default "no-version" which will match > anyone > who exports it. This is safer than importing a very specific version based > on the jar's > version / dependency version, as when the other jar is wrapped as an OSGi > bundle > they might choose to use a slightly different version string... > which would > not match > the 'calculated' import and cause all sorts of breakage > > Limiting version detection to only use OSGi metadata means you know you'll > be able > to deploy against the same jarfile you compiled against - hope that makes > sense :) > > Niall > > > > > Niall > > > > > > > > > > also note when you set excludeDependencies to true you are not > > giving > > > > > > > Bnd any information about dependencies, so it can't detect the > > > > versions. > > > > > > > > > > > > OK but can't the maven plugin pass the dependency > versions to Bnd? > > > > > > > > > > > > > > > Yes - and the way the plugin does this is by passing the complete > > > > classpath. > > > > > But then you're back to having to tell Bnd exactly what > you want to > > > > export > > > > > and what you want to keep private... > > > > > > > > > > > > > > > Niall > > > > > > > > > > > > > so to sum up, for basic OSGi manifest entries with minimum of > > fuss > > > > use: > > > > > > > > > > > > > > > > > > > > > true > > > > > > > > > > > > > > *;version=${pom.version > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > but if you want better OSGi manifest entries consider > something > > > > like: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > some.public.pkg;version=${pom.version}, > > > > > > > wildcard.public.pkg.*;version=${pom.version} > > > > > > > > > > > > > > > > > > > > > some.internal.pkg, > > > > > > > wildcard.internal.pkg.* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > note you have to be a bit more careful here, because any > > packages > > > > > > > that aren't covered by Export-Package or Private-Package will > > _not_ > > > > > > > be pulled into the final bundle. > > > > > > > > > > > > > > the bundleplugin and Bnd are documented at: > > > > > > > > > > > > > > http://felix.apache.org/site/maven-bundle-plugin-bnd.html > > > > > > > http://aqute.biz/Code/Bnd (has full list of Bnd > > instructions) > > > > > > > > > > > > > > HTH > > > > > > > > > > > > > > > > > > > > > Niall > > > > > > > > > > > > > > > > > > Niall > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Cheers, Stuart > > > > > > > > > > > > > > > > > > > > > > ---------- Forwarded message ---------- > > > > > > > > > > > From: Stuart McCulloch (JIRA) > > > > > > > > > > > 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: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.felix > > > > > > > > > > > maven-bundle-plugin > > > > > > > > > > > true > > > > > > > > > > > > > > > > > > > > > > > > true > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *;version=${pom.version > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > cziegeler@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-MA > NIFEST.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/commo > ns-parent/pom.xml > > > > > > > > > > > > > > > > > > > > > > > > > =================================================================== > > > > > > > > > > > > > --- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > /Users/cziegeler/Developer/workspaces/default/commons-proper/commo > ns-parent/pom.xml > > > > > > > > > > > (revision 605909) > > > > > > > > > > > > > +++ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > /Users/cziegeler/Developer/workspaces/default/commons-proper/commo > ns-parent/pom.xml > > > > > > > > > > > (working copy) > > > > > > > > > > > > > @@ -159,6 +159,12 @@ > > > > > > > > > > > > > > > maven-release-plugin > > > > > > > > > > > > > 2.0-beta-7 > > > > > > > > > > > > > > > > > > > > > > > > > > + > > > > > > > > > > > > > + org.apache.felix > > > > > > > > > > > > > > > + maven-bundle-plugin > > > > > > > > > > > > > + 1.1.0-SNAPSHOT > > > > > > > > > > > > > + true > > > > > > > > > > > > > + > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @@ -194,6 +200,15 @@ > > > > > > > > > > > > > ${maven.compile.source > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + > > > > > > > > > > > > > + org.apache.felix > > > > > > > > > > > > > > > + maven-bundle-plugin > > > > > > > > > > > > > + > > > > > > > > > > > > > + > > > > > > > > > > > > > + > > > > > > > > > > > > > > > > > > > > org.apache.commons.${pom.artifactId} > > > > > > > > > > > > > > > > > > > > > + > > > > > > > > > > > > > + > > > > > > > > > > > > > + > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 @@ > > > > > > > > > > > > > > > > > > > > > > > > > > org.apache.commons > > > > > > > > > > > > > commons-parent > > > > > > > > > > > > > - 5 > > > > > > > > > > > > > + 6-SNAPSHOT > > > > > > > > > > > > > > > > > > > > > > > > > > 4.0.0 > > > > > > > > > > > > > commons-lang > > > > > > > > > > > > > commons-lang > > > > > > > > > > > > > 2.4-SNAPSHOT > > > > > > > > > > > > > Commons Lang > > > > > > > > > > > > > + bundle > > > > > > > > > > > > > > > > > > > > > > > > > > 2001 > > > > > > > > > > > > > > > > > > > > > > > > > > @@ -401,6 +402,16 @@ > > > > > > > > > > > > > gnu > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > + > > > > > > > > > > > > > + org.apache.felix > > > > > > > > > > > > > > > + maven-bundle-plugin > > > > > > > > > > > > > + true > > > > > > > > > > > > > + > > > > > > > > > > > > > + > > > > > > > > > > > > > + > > > > > > > > > *;version=${pom.version} > > > > > > > > > > > > > + > > > > > > > > > > > > > + > > > > > > > > > > > > > + > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > > > > > > > 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. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Cheers, Stuart > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Cheers, Stuart > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Cheers, Stuart > > > > > > > > > > > > > > > > > > > > > -- > > > Cheers, Stuart > > > > > > > -- > Cheers, Stuart >