Hey David, On Wed, Mar 2, 2011 at 8:50 PM, David Jencks <[email protected]> wrote: > this sure has gotten long :-) > > Lets see if I can summarize... maybe we can double the length... > > First, the features.xml generation and kar assembly are done in separate > mojos, and the feature packaging stops after feature generation whereas the > kar packaging generates the features.xml and then assembles a kar. > > Features generation: > I think we all agree that the output from features generation should express > pretty much all the options available in a features.xml. Some of these are > going to be easy to derive from pom dependencies and other native pom > information, some are going to be easy to derive from maven plugin > configuration, and some are going to be easier to express in a source > features.xml that is modified.
+1 > The one thing that the current features generation doesn't do is include more > than one feature in a generated features.xml. I'm not sure how important > this is. One option should we decide to support it would be to have a plugin > configuration option that includes the features from maven dependencies that > are features. In other words, in a features or kar project A, if one of the > maven dependencies B is a features packaging project, we would include the > features from B's feature.xml in the generated features.xml for A. Currently I don't need such a feature but it could be quite useful in some situations > kar assembly: > I think there's supposed to be way of controlling whether a dependency gets > included in the kar, I'm not sure if that's implemented yet. > We might want more flexibility about where resources get unpacked on > installation. Basically I can life with a simple "include everything" approach here... > validation: > I think this is the main area of controversy. There are two aspects: > 1. should we validate that dependencies mentioned in the preexisting > features.xml are also (transitive) maven dependencies of the project > 2. should we include dependencies mentioned in the preexisting features.xml > that are not known to maven in a kar. > > My answer to these are 1 yes, 2 no. (2 is only relevant if you answer 1 no). > 2: if maven doesn't know about a dependency, then you need a way outside > maven to find the dependency in order to include it in the kar. I guess this > would involve configuring the pax-mvn-url stuff. But this duplicates maven > configuration. This is just a bad idea and pretty much guarantees a > non-portable build. Analyzing all my karaf based projects again I can live as well with 1 yes and 2 no as the other way round; but yes, you're right David, yes/no would be the "cleaner" solution. > 1. I think this is usually a good idea, but essential for kar packaging. I'd > be OK with having an option to turn it off for standalone feature packaging, > especially for non-mvn url dependencies. +1 > > ------------- > > We might start needing some more concrete examples to focus the discussion. > For instance seeing what Adrian means by "ergonomic" might be useful and > insteresting. > > And as a side note.... karaf 3 is java 6 so it should be OK now to move the > jaxb classes from tooling into the feature deployer runtime? Yep Kind regards, Andreas > > thanks > david jencks
