I fixed the issue. I thought it was illegal XML to have a dash *anywhere* in an 
XML element; it's only illegal at the start of element name. Looking through 
the maven-bundle-plugin source, I see that they replace the first underscore 
with a dash; I thought that was a bug and it should have replaced all 
underscores -> dashes before passing to BND. Turns out, it's just the first 
dash that is illegal.

<_provider-policy> works as expected.

Thanks! 

On Tuesday, June 7, 2011 at 12:22 PM, Matt Hughes wrote:

> Hmm. Well I think I am looking at the correct page on aqute's website. I know 
> I need to pass in -provider-policy ultimately to bnd, but I'm looking to 
> confirm how that argument gets translated when calling it from the 
> *maven-bundle-plugin*. You can't have dashes in xml element names, so I 
> presume it would be underscore as that is how "-versionpolicy" gets 
> translated. 
> 
> As you can see in my pom snippet, I've tried
> 
> <_providerversionpolicy>
> <_provider_policy>
> 
> and I've also tried
> 
> <_providerpolicy>
> 
> 
> Is there some sort of debugging that I can turn up to confirm Maven is 
> ultimately passing the correct arguments to the BND library? 
> 
> On Tuesday, June 7, 2011 at 4:55 AM, Peter Kriens wrote:
> 
> > For the instructions you have to be at the bnd documentation: 
> > http://www.aqute.biz/Bnd/Bnd
> > 
> > Kind regards,
> > 
> >  Peter Kriens
> > 
> > 
> > 
> > On 6 jun 2011, at 20:39, Matt Hughes wrote:
> > 
> > > I'm trying to configure a separate version policy for providers vs
> > > consumers as described here (http://www.aqute.biz/Bnd/Versioning).
> > > 
> > > However, I can't seem to get maven-bundle-plugin and/or bnd to
> > > cooperate. Here is my bundle-plugin config:
> > > 
> > > <plugin>
> > > <groupId>org.apache.felix</groupId>
> > > <artifactId>maven-bundle-plugin</artifactId>
> > > &llt;version>2.3.4</version>
> > > <extensions>true</extensions>
> > > <configuration>
> > > <instructions>
> > > <_versionpolicy>[$(version;===;$(@)),$(version;+;$(@)))</_versionpolicy>
> > > <__providerversionpolicy>[$(version;===;$(@)),$(version;=+;$(@)))</_providerversionpolicy>
> > > <__provider_policy>[$(version;===;$(@)),$(version;=+;$(@)))</_provider_policy>
> > > </instructions>
> > > </configuration>
> > > </plugin>
> > > 
> > > I couldn't find docs on the mbp's website detailing acceptable values
> > > for the <instructions> tag, so I tried some logical combinations for
> > > -provider-policy.
> > > 
> > > Here is my osgi.bnd file that is trying to mark a package as a provider:
> > > 
> > > Export-Package: org.osgi.service.event;provide:=true
> > > 
> > > 
> > > Now with that configured, the import range for that package should be
> > > [1.5,1.6); instead it uses the regular version policy of [1.5,2). Any
> > > ideas? Am I missing where the docs are located detailing the various
> > > <instructions> flags?
> > > 
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected] 
> > > (mailto:[email protected])
> > > For additional commands, e-mail: [email protected] 
> > > (mailto:[email protected])
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected] 
> > (mailto:[email protected])
> > For additional commands, e-mail: [email protected] 
> > (mailto:[email protected])
> 

Reply via email to