On Tue, Apr 19, 2016 at 9:12 PM, John D. Ament <[email protected]> wrote:
> Talk about lightning responses Benson!
>
> What does something like that look like?  Is it broken down into multiple
> features?  Basically I'd love to see a single feature file with one feature
> for our core, and then distinct features for each module.  It seems that the
> default behavior is to create a single aggregated feature (when aggregate is
> enabled).

A bit more detail:

The aggregating project has many dependences like:

<dependency>
    <groupId>com.basistech.ws</groupId>
    <artifactId>rosapi-common</artifactId>
    <classifier>features</classifier>
    <type>xml</type>
    <version>${project.version}</version>
</dependency>

Then it has:

<plugin>
    <groupId>org.apache.karaf.tooling</groupId>
    <artifactId>karaf-maven-plugin</artifactId>
    <configuration>
      <aggregateFeatures>true</aggregateFeatures>
    </configuration>
</plugin>

and it produces something like:

<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0";
name="rosapi-features-1.0.100-SNAPSHOT">
    <feature name="rosette-api" description="rosette-api"
version="1.0.100.SNAPSHOT">
        <details>The Rosette-API client classes and their Jackson
dependency.</details>
        
<bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.6.2</bundle>
        <bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.6.2</bundle>
        <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.6.2</bundle>
        <bundle>mvn:com.basistech.rosette/rosette-api-json/1.0.100</bundle>
        <bundle>mvn:com.basistech.rosette/rosette-api-model/1.0.100</bundle>
    </feature>
    <feature name="rosapi-common" description="rosapi-common"
version="1.0.100.SNAPSHOT">
        <details>Code in common for Rosette API Web Service 1.5</details>
        <feature prerequisite="false"
dependency="false">bean-validation-support</feature>
        <bundle>mvn:com.basistech.ws/rosapi-common/1.0.100-SNAPSHOT</bundle>
        <bundle>mvn:com.basistech/adm-model/1.16.0</bundle>

    </feature>
<!-- many others omitted -->
</features>






>
> John
>
> On Tue, Apr 19, 2016 at 9:09 PM Benson Margulies <[email protected]>
> wrote:
>>
>> I have the plugin in each of my modules making a feature, and then an
>> aggregator project that uses the plugin again to combine them into a
>> single xml file that makes up the library of features.
>>
>>
>> On Tue, Apr 19, 2016 at 9:07 PM, John D. Ament <[email protected]>
>> wrote:
>> > I'm looking to get opinions, and figure it makes sense to get an opinion
>> > from the creators.
>> >
>> > I'm trying to figure out what is the best way to create features files.
>> > There's a maven plugin, or I can have it checked into source control.
>> >
>> > The maven plugin will generate a features.xml for each project.  If I
>> > compare to how camel works, for example, there's a single features.xml
>> > that
>> > describes everything in use,
>> >
>> > https://github.com/apache/camel/blob/master/platforms/karaf/features/src/main/resources/features.xml
>> >
>> > This seems cleaner because its all in one spot, but a problem because of
>> > the
>> > large overhead of creating and maintaining the file.  So is there any
>> > way to
>> > automate the generation of something like this file?  I'm trying to do
>> > the
>> > equivalent for Apache Tamaya.
>> >
>> > John

Reply via email to