+1 @Charles's comment

Kind regards,
Andreas

On Wed, Mar 2, 2011 at 10:21 AM, Charles Moulliard <[email protected]> wrote:
> I think that we will miss important points if we let KAR to generate
> the feature file for us and not allow the project to provide it. Why ?
>
> 1) Bundles to deploy but not starting them
> There is an attribute for each bundle created in a feature file
> <bundle start="no"> which allows to deploy the bundle but not starting
> it. How will it be possible to use this property if the features file
> is generated on the fly.
>
> Idem but for the bundle level <bundle start-level="80">
>
> 2) Features documentation
> Features file is a xml text file which allow to document artifacts
> (features, bundles, ...), prepare release and keep track about what is
> deployed
>
> 3) Variable that we would like to configure for configFile ...
>
> Just 4cents
>
> Regards,
>
> Charles
>
>
>
> On Wed, Mar 2, 2011 at 8:09 AM, Guillaume Nodet <[email protected]> wrote:
>> I can see the value if you have a legacy feature and you want to
>> create a kar for it, but it may be better to deprecate such a goal and
>> use the kar packaging instead which will also generate the feature
>> descriptor based on maven informations.
>> Leveraging maven is better as:
>>  * you don't have to do some fancy stuff we tried to do when
>> generating the features file from the maven dependencies anymore (i.e.
>> mapping non bundles to bundles)
>>  * you know you have all the dependencies in your local repo
>>  * you can leverage dependendencies information from maven
>> (transitive, optional, provided, etc...)
>>  * you have a single point of configuration for the dependencies / versions
>> The only drawback is that you need a maven project for each feature,
>> but that's a consequence of being able to describe the maven
>> dependencies properly.
>>
>> On Wed, Mar 2, 2011 at 07:34, Jean-Baptiste Onofré <[email protected]> wrote:
>>> I'm not sure to follow you.
>>>
>>> The kar goal is exactly as the add-features-to-repo goal: you start from a
>>> features descriptor (that you wrote by hand) and the goal package the
>>> descriptor and the bundles/dependencies into a repo (kar or local).
>>>
>>> Regards
>>> JB
>>>
>>> On 03/02/2011 07:34 AM, David Jencks wrote:
>>>>
>>>> OK, but you are in a maven environment.  You've now disconnected the
>>>> versions in the features.xml which you are presumably maintaining by hand
>>>> from those in your maven poms.  I consider that a non-starter.
>>>>
>>>> My point is that you want to construct the features.xml from maven
>>>> dependencies in the first place.  At the same time you can construct the
>>>> kar, including (some of) the dependencies.
>>>>
>>>> happy to be convinced otherwise...
>>>> thanks
>>>> david jencks
>>>>
>>>> On Mar 1, 2011, at 10:05 PM, Jean-Baptiste Onofré wrote:
>>>>
>>>>> The main advantage is that it starts from the features descriptor. So you
>>>>> simply define the features what you want to embed in the Kar and the 
>>>>> plugin
>>>>> is responsible to download and embed all bundle dependencies.
>>>>>
>>>>> For instance, in place of having:
>>>>>
>>>>> <dependencies>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>>  <dependency .../>
>>>>> </dependendies>
>>>>>
>>>>> you simple have in the plugin
>>>>> <configuration>
>>>>>  <features>myfeature</features>
>>>>> </configuration>
>>>>>
>>>>> So the POM is light, the version is defined in the features descriptor
>>>>> and it manages transitive dependencies to others features.
>>>>>
>>>>> Regards
>>>>> JB
>>>>>
>>>>> On 03/02/2011 07:00 AM, David Jencks wrote:
>>>>>>
>>>>>> I might understand what the archive-kar goal does now, from the jira
>>>>>> issue.
>>>>>>
>>>>>> I would like to suggest that we eliminate this goal and just use the kar
>>>>>> packaging which generates both the features.xml and the kar from the 
>>>>>> maven
>>>>>> dependencies.
>>>>>>
>>>>>> When would the archive-kar goal be useful compared to the kar packaging?
>>>>>>
>>>>>> thanks
>>>>>> david jencks
>>>>>>
>>>>>> On Mar 1, 2011, at 9:47 PM, Jean-Baptiste Onofré wrote:
>>>>>>
>>>>>>> Hi guys,
>>>>>>>
>>>>>>> The purpose of the kar goal is to take a features descriptor and
>>>>>>> package the features descriptor and the related bundle into a kar 
>>>>>>> archive
>>>>>>> (that's it's a goal of the features maven plugin).
>>>>>>> The kar deployer create a repo for these bundles.
>>>>>>> I raised KARAF-459 about that. At least, the kar goals should take an
>>>>>>> argument to define if the bundle are embedded in the kar or not.
>>>>>>> But, if the kar doesn't embed the bundle, what's the advantage of using
>>>>>>> a kar more than directly drop the features descriptor into the deploy
>>>>>>> directory :)
>>>>>>>
>>>>>>> Regards
>>>>>>> JB
>>>>>>>
>>>>>>> On 03/01/2011 11:40 PM, David Jencks wrote:
>>>>>>>>
>>>>>>>> I couldn't quite understand what the docs expected.  What I think is
>>>>>>>> usable is the (undocumented) kar packaging which ought to look 
>>>>>>>> something
>>>>>>>> like this:
>>>>>>>>
>>>>>>>> <project xmlns="http://maven.apache.org/POM/4.0.0";
>>>>>>>>                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>>>>>                 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>>>>>>>>
>>>>>>>> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>>>>>>>>
>>>>>>>>  <modelVersion>4.0.0</modelVersion>
>>>>>>>>
>>>>>>>>  <groupId>hibernate-osgi</groupId>
>>>>>>>>  <artifactId>hibernate-osgi</artifactId>
>>>>>>>>  <version>0.0.1-SNAPSHOT</version>
>>>>>>>>  <packaging>kar</packaging>
>>>>>>>>  <name>hibernate-osgi</name>
>>>>>>>>
>>>>>>>> <dependencies>
>>>>>>>> <!-- put in the bundles you want in the features.xml and kar as
>>>>>>>> dependencies -->
>>>>>>>> </dependencies>
>>>>>>>>
>>>>>>>>  <build>
>>>>>>>>        <plugins>
>>>>>>>>                <plugin>
>>>>>>>>                        <groupId>org.apache.karaf.tooling</groupId>
>>>>>>>>                        <artifactId>features-maven-plugin</artifactId>
>>>>>>>>                        <version>2.99.99-SNAPSHOT</version>
>>>>>>>>                        <extensions>true</extensions>
>>>>>>>>                </plugin>
>>>>>>>>        </plugins>
>>>>>>>>  </build>
>>>>>>>>
>>>>>>>> </project>
>>>>>>>>
>>>>>>>> This should generate a features.xml file inside the kar and include
>>>>>>>> the bundles you mentioned as entries in the feature.xml and copied 
>>>>>>>> into the
>>>>>>>> kar.
>>>>>>>>
>>>>>>>> thanks
>>>>>>>> david jencks
>>>>>>>>
>>>>>>>> On Mar 1, 2011, at 2:15 PM, karafman wrote:
>>>>>>>>
>>>>>>>>> To test the KAR feature, I compiled the trunk and executed the
>>>>>>>>> following
>>>>>>>>> pom.xml file:
>>>>>>>>> <project xmlns="http://maven.apache.org/POM/4.0.0";
>>>>>>>>>                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>>>>>>                 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>>>>>>>>>
>>>>>>>>> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>>>>>>>>>
>>>>>>>>>  <modelVersion>4.0.0</modelVersion>
>>>>>>>>>
>>>>>>>>>  <groupId>hibernate-osgi</groupId>
>>>>>>>>>  <artifactId>hibernate-osgi</artifactId>
>>>>>>>>>  <version>0.0.1-SNAPSHOT</version>
>>>>>>>>>  <packaging>pom</packaging>
>>>>>>>>>  <name>hibernate-osgi</name>
>>>>>>>>>
>>>>>>>>>  <build>
>>>>>>>>>        <plugins>
>>>>>>>>>                <plugin>
>>>>>>>>>                        <groupId>org.apache.karaf.tooling</groupId>
>>>>>>>>>                        <artifactId>features-maven-plugin</artifactId>
>>>>>>>>>                        <version>2.99.99-SNAPSHOT</version>
>>>>>>>>>                        <executions>
>>>>>>>>>                                <execution>
>>>>>>>>>                                        <id>archive-kar</id>
>>>>>>>>>                                        <goals>
>>>>>>>>>
>>>>>>>>>  <goal>archive-kar</goal>
>>>>>>>>>                                        </goals>
>>>>>>>>>                                        <configuration>
>>>>>>>>>
>>>>>>>>> <featuresFile>src/main/resources/features.xml</featuresFile>
>>>>>>>>>                                        </configuration>
>>>>>>>>>                                </execution>
>>>>>>>>>                        </executions>
>>>>>>>>>                </plugin>
>>>>>>>>>        </plugins>
>>>>>>>>>  </build>
>>>>>>>>>
>>>>>>>>> </project>
>>>>>>>>>
>>>>>>>>> Using this features.xml file:
>>>>>>>>>
>>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>> <features>
>>>>>>>>>               <feature name="hibernate" version="3.3.2.GA">
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:javax.xml.stream/com.springsource.javax.xml.stream/1.0.1</bundle>
>>>>>>>>>
>>>>>>>>>  <bundle>mvn:org.dom4j/com.springsource.org.dom4j/1.6.1</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:org.jboss.javassist/com.springsource.javassist/3.9.0.GA</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:javax.persistence/com.springsource.javax.persistence/1.0.0</bundle>
>>>>>>>>>
>>>>>>>>>  <bundle>mvn:org.antlr/com.springsource.antlr/2.7.7</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:net.sourceforge.cglib/com.springsource.net.sf.cglib/2.2.0</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:org.apache.commons/com.springsource.org.apache.commons.collections/3.2.1</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:org.objectweb.asm/com.springsource.org.objectweb.asm/1.5.3</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:org.objectweb.asm/com.springsource.org.objectweb.asm.attrs/1.5.3</bundle>
>>>>>>>>>
>>>>>>>>>  <bundle>mvn:org.hibernate/com.springsource.org.hibernate/3.3.2.GA</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:org.hibernate/com.springsource.org.hibernate.annotations/3.3.1.ga</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:org.hibernate/com.springsource.org.hibernate.annotations.common/3.3.0.ga</bundle>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> <bundle>mvn:org.hibernate/com.springsource.org.hibernate.ejb/3.3.2.GA</bundle>
>>>>>>>>>        </feature>
>>>>>>>>> </features>
>>>>>>>>>
>>>>>>>>> The .kar file created didn't contain any of the bundles, just the
>>>>>>>>> features.xml file.  The expected behavior is to (according to
>>>>>>>>> http://karaf.apache.org/manual/2.2.1-SNAPSHOT/users-guide/kar.html):
>>>>>>>>> The kar-archive goal:
>>>>>>>>> 1. Reads all features specified in the features descriptor.
>>>>>>>>> 2. For each feature, it resolves the bundles defined in the feature.
>>>>>>>>> 3. All bundles are packaged into the kar archive.
>>>>>>>>>
>>>>>>>>> So, it appears the KAR feature is not doing what is stated in the
>>>>>>>>> docs.  I
>>>>>>>>> suggest we either change the documentation, or the archive-kar goal.
>>>>>>>>>
>>>>>>>>> -----
>>>>>>>>> Karafman
>>>>>>>>> Slayer of the JEE
>>>>>>>>> Pounder of the Perl Programmer
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>> http://karaf.922171.n3.nabble.com/KAR-feature-not-doing-what-the-docs-say-it-should-tp2606973p2606973.html
>>>>>>>>> Sent from the Karaf - Dev mailing list archive at Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>>
>>
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://fusesource.com
>>
>

Reply via email to