+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 >> >
