Code of the project is here :
https://github.com/droolsjbpm/droolsjbpm-integration/tree/master/drools-osgi/drools-karaf-itest


On Fri, Jan 17, 2014 at 9:48 AM, Charles Moulliard <[email protected]> wrote:

> Pom of the project uses as dependency drools-core, kie-spring, kie-camel
> but as you can see drools-module is an umbrella to retrieve many more
> features defined under "drools-common"
>
>     <feature name="drools-common" version="${drools.version}"
> description="Drools Commons">
>         <feature version="[2.6,3.0)">cxf-specs</feature>
>
> <bundle>mvn:com.google.protobuf/protobuf-java/${karaf.version.com.google.protobuf}</bundle>
>
> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${karaf.servicemix.version.org.antlr}</bundle>
>
> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xstream/${karaf.servicemix.version.com.thoughtworks.xstream}</bundle>
>         <bundle
> start-level='10'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/${karaf.servicemix.version.javax.xml.bind.jaxb}</bundle>
>         <bundle
> start-level='10'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-xjc/${karaf.servicemix.version.com.sun.xml.bind.jaxb}</bundle>
>         <bundle
> start-level='10'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/${karaf.servicemix.version.com.sun.xml.bind.jaxb}</bundle>
>         <bundle>mvn:org.mvel/mvel2/${karaf.version.org.mvel}</bundle>
>
> <bundle>wrap:mvn:org.eclipse.jdt.core.compiler/ecj/${karaf.version.org.eclipse.jdt.core.compiler}$Bundle-SymbolicName=Eclipse-JDT-Compiler&amp;Bundle-Version=${karaf.version.org.eclipse.jdt.core.compiler}</bundle>
>
> <bundle>wrap:mvn:org.codehaus.janino/janino/${karaf.version.org.codehaus.janino}$Bundle-SymbolicName=Codehaus-Janino&amp;Bundle-Version=${karaf.version.org.codehaus.janino}</bundle>
>
> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${karaf.servicemix.version.org.quartz-scheduler}</bundle>
>
> <bundle>mvn:org.apache.geronimo.specs/geronimo-atinject_1.0_spec/${karaf.version.javax.inject}</bundle>
>
> <bundle>wrap:mvn:javax.enterprise/cdi-api/${karaf.version.javax.enterprise.cdi}</bundle>
>     </feature>
>
> Version of the project is defined as property
>
> - Code used to create the features file URL
>
>     public static MavenArtifactProvisionOption getFeaturesUrl(String
> groupId, String artifactId, String version) {
>         MavenArtifactProvisionOption mapo =
>  mavenBundle().groupId(groupId).artifactId(artifactId);
>         mapo.type("xml/features");
>
>         if (version == null) {
>             mapo.versionAsInProject();
>         } else {
>             mapo.version(version);
>         }
>
>         LOG.info("Features URL : " + mapo.getURL());
>
>         return mapo;
>     }
>
> >> Features URL :
> mvn:org.drools/drools-karaf-features/6.1.0-SNAPSHOT/xml/features
>
> - Called like that to retrieve the features
>
>     public static Option loadDroolsKieFeatures(String... features) {
>         List<String> result = new ArrayList<String>();
>         result.add("drools-module");
>         for (String feature : features) {
>             result.add(feature);
>         }
>
>         return
> scanFeatures(getFeaturesUrl("org.drools","drools-karaf-features",DroolsVersion),
> result.toArray(new String[4 + features.length]));
>     }
>
>
>
> On Fri, Jan 17, 2014 at 9:40 AM, Achim Nierbeck 
> <[email protected]>wrote:
>
>> Hi Charles,
>>
>> are you using this dependency in your maven pom file.
>> For me it usually works best if all dependencies are first resolved
>> through maven.
>> If done so the versionAsInProject can also be used.
>>
>> regards, Achim
>>
>>
>> 2014/1/17 Charles Moulliard <[email protected]>
>>
>>> Hi,
>>>
>>> I experience a strange issue using pax-exam with Karaf 2.3.x
>>>
>>> The following features file is available in my local maven repo
>>>
>>> mvn:org.drools/drools-karaf-features/6.1.0-SNAPSHOT/xml/features
>>>
>>> -rw-r--r--  1 chmoulli  1881291218  10473 Jan 17 08:45
>>> /Users/chmoulli/.m2/repository/org/drools/drools-karaf-features/6.1.0-SNAPSHOT/drools-karaf-features-6.1.0-SNAPSHOT-features.xml
>>>
>>> but when pax-exam tries to find the features, I get ERRORS (feature null
>>> not found, feature drools-module not found, ...) from FeaturesServiceImpl
>>> even if the features are well present in features file
>>>
>>> example
>>>
>>>     <feature name="drools-module" version="6.1.0-SNAPSHOT"
>>> description="Drools core">
>>>         <feature version="6.1.0-SNAPSHOT">drools-common</feature>
>>>         <feature version="6.1.0-SNAPSHOT">kie</feature>
>>>         <bundle>mvn:org.drools/drools-core/6.1.0-SNAPSHOT</bundle>
>>>         <bundle>mvn:org.drools/drools-compiler/6.1.0-SNAPSHOT</bundle>
>>>
>>> <bundle>mvn:org.drools/drools-osgi-integration/6.1.0-SNAPSHOT</bundle>
>>>     </feature>
>>>
>>> https://gist.github.com/8470059
>>>
>>> Line 1133 -->
>>> http://grepcode.com/file/repo1.maven.org/maven2/org.apache.karaf.features/org.apache.karaf.features.core/2.3.0/org/apache/karaf/features/internal/FeaturesServiceImpl.java
>>>
>>> As this is really hard to debug Pax-Exam + Karaf, does anybody has an
>>> idea bout the issue  ? Could it be possible that pax-exam does not look
>>> into my local repo ? Can I tell / force pax-exam to look into my local repo
>>> ?
>>>
>>> Regards,
>>>
>>> --
>>> Charles Moulliard
>>> Apache Committer / Architect @RedHat
>>> Twitter : @cmoulliard | Blog :  http://cmoulliard.github.io
>>>
>>>
>>
>>
>> --
>>
>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer
>> & Project Lead
>> OPS4J Pax for Vaadin <http://team.ops4j.org/wiki/display/PAXVAADIN/Home>
>> Commiter & Project Lead
>> blog <http://notizblog.nierbeck.de/>
>>
>
>
>
> --
> Charles Moulliard
> Apache Committer / Architect @RedHat
> Twitter : @cmoulliard | Blog :  http://cmoulliard.github.io
>
>


-- 
Charles Moulliard
Apache Committer / Architect @RedHat
Twitter : @cmoulliard | Blog :  http://cmoulliard.github.io

Reply via email to