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