I also tried with Maven Bundle Plugin 2.4.0 and have the same issue
Kind regards,
Ben

Le 31 mars 2014 à 11:18, Benoît Thiébault <[email protected]> a écrit :

> OK, I’m back at work and I have been trying your snippet.
> 
> I have a compilation problems… It seems Maven Bundle Plugin has difficulties 
> parsing the filter.
> 
> Here is the error message:
>> mvn clean install -DskipTests=true
> [INFO] Scanning for projects...
> [ERROR] The build could not read 1 project -> [Help 1]
> [ERROR]   
> [ERROR]   The project  (/path/to/my/project/pom.xml) has 1 error
> [ERROR]     Non-parseable POM 
> /path/to/my/project/modules/my-module-osx64b/pom.xml: entity reference names 
> can not start with character '(' (position: START_TAG seen 
> ...<Require-Capability>osgi.native; filter:="(&(... @93:70)  @ line 93, 
> column 70 -> [Help 2]
> [ERROR] 
> [ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
> switch.
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
> [ERROR] 
> [ERROR] For more information about the errors and possible solutions, please 
> read the following articles:
> [ERROR] [Help 1] 
> http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
> [ERROR] [Help 2] 
> http://cwiki.apache.org/confluence/display/MAVEN/ModelParseException
> 
> The line in the POM is:
> <Require-Capability>osgi.native; 
> filter:="(&(osgi.native.osname=MacOS)(os.native.processor=x86_64))"</Require-Capability>
> 
> I am using the following configuration for Maven Bundle Plugin:
> <plugin>
>       <groupId>org.apache.felix</groupId>
>       <artifactId>maven-bundle-plugin</artifactId>
>       <version>2.3.7</version>
>       <extensions>true</extensions>
> </plugin>
> 
> Thanks for your help
> 
> Ben
> 
> Le 29 mars 2014 à 11:21, Neil Bartlett <[email protected]> a écrit :
> 
>> You cannot do this with OBR. If you can use the R5 repository format, along
>> with the repoindex tool, then you can use Provide- and Require-Capability
>> headers to ensure the set of libraries you need is resolved. For example
>> the fragment "org.example.nativelib.osx64" would provide something custom
>> like this:
>> 
>>   Provide-Capability: myapp.native; library=com.example.nativelib
>> 
>> and it would require the osgi.native capability to ensure it can only
>> resolve on a single platform:
>> 
>>   Require-Capability: osgi.native;
>> filter:="(&(osgi.native.osname=MacOS)(os.native.processor=x86_64))"
>> 
>> Now your core bundle just requires the myapp.native capability and the
>> resolver will pick the right fragment for your runtime platform.
>> 
>> 
>> On Sat, Mar 29, 2014 at 7:47 AM, Benoît Thiébault 
>> <[email protected]>wrote:
>> 
>>> Hi everyone,
>>> 
>>> I’m willing to simplify my application deployment and plan to use an OBR.
>>> On this OBR, I have deployed several bundles, including some containing
>>> native code.
>>> 
>>> I have a cross-platform bundle, say org.example.nativelib and one fragment
>>> for each platform:
>>> - org.example.nativelib.linux64b
>>> - org.example.nativelib.linux32b
>>> - org.example.nativelib.win7-64b
>>> - org.example.nativelib.osx64b
>>> - etc.
>>> 
>>> How can I be sure that when deploying org.example.nativelib from the OBR,
>>> the native fragment of the correct platform will be deployed?
>>> 
>>> Thanks for your help
>>> 
>>> Benoît
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
>>> 
> 
> -- 
> Dr Benoît Thiébault
> Project Manager
> 
>  Artenum Toulouse - Science & Groupware
>  http://www.artenum.com
> 
>      Bâtiment Calfocenter
>      10, rue Marguerite-Long
>      31320 Castanet-Tolosan
>      France
>      Phone: +33 (0)5 82 95 19 00
> 
> 

-- 
Dr Benoît Thiébault
Project Manager

  Artenum Toulouse - Science & Groupware
  http://www.artenum.com

      Bâtiment Calfocenter
      10, rue Marguerite-Long
      31320 Castanet-Tolosan
      France
      Phone: +33 (0)5 82 95 19 00


Reply via email to