You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Charles Moulliard (JIRA)" <ji...@apache.org> on 2010/08/27 07:32:54 UTC
[jira] Issue Comment Edited: (KARAF-165) A better
'feature-assembly' plugin
[ https://issues.apache.org/jira/browse/KARAF-165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12903234#action_12903234 ]
Charles Moulliard edited comment on KARAF-165 at 8/27/10 1:32 AM:
------------------------------------------------------------------
Hi Ade,
Is this maven plugin not doing what you want -->
{code}
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>features-maven-plugin</artifactId>
<version>${karaf.version}</version>
<executions>
<execution>
<id>add-features-to-repo</id>
<phase>generate-resources</phase>
<goals>
<goal>add-features-to-repo</goal>
</goals>
<configuration>
<descriptors>
<descriptor>mvn:org.apache.karaf/apache-karaf/${karaf.version}/xml/features</descriptor>
<descriptor>mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/${servicemix.nmr.version}/xml/features</descriptor>
<descriptor>file:${basedir}/target/classes/camel-features.xml</descriptor>
<descriptor>file:${basedir}/target/classes/ode-features.xml</descriptor>
<descriptor>file:${basedir}/target/classes/features.xml</descriptor>
</descriptors>
<features>
<feature>jbi-cluster</feature>
<feature>web</feature>
<feature>cxf-nmr</feature>
<feature>cxf-osgi</feature>
<feature>camel-activemq</feature>
<!-- ServiceMix components -->
<feature>servicemix-cxf-bc</feature>
<feature>servicemix-file</feature>
<feature>servicemix-ftp</feature>
<feature>servicemix-http</feature>
<feature>servicemix-jms</feature>
<feature>servicemix-mail</feature>
<feature>servicemix-bean</feature>
<feature>servicemix-camel</feature>
<feature>servicemix-cxf-se</feature>
<feature>servicemix-drools</feature>
<feature>servicemix-eip</feature>
<feature>servicemix-osworkflow</feature>
<feature>servicemix-quartz</feature>
<feature>servicemix-scripting</feature>
<feature>servicemix-validation</feature>
<feature>servicemix-saxon</feature>
<feature>servicemix-wsn2005</feature>
<feature>servicemix-snmp</feature>
<feature>servicemix-vfs</feature>
<feature>servicemix-smpp</feature>
</features>
<repository>target/features-repo</repository>
</configuration>
</execution>
</executions>
</plugin>
{code}
was (Author: cmoulliard):
Hi Ade,
Is this maven plugin not doign what you want -->
{code}
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>features-maven-plugin</artifactId>
<version>${karaf.version}</version>
<executions>
<execution>
<id>add-features-to-repo</id>
<phase>generate-resources</phase>
<goals>
<goal>add-features-to-repo</goal>
</goals>
<configuration>
<descriptors>
<descriptor>mvn:org.apache.karaf/apache-karaf/${karaf.version}/xml/features</descriptor>
<descriptor>mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/${servicemix.nmr.version}/xml/features</descriptor>
<descriptor>file:${basedir}/target/classes/camel-features.xml</descriptor>
<descriptor>file:${basedir}/target/classes/ode-features.xml</descriptor>
<descriptor>file:${basedir}/target/classes/features.xml</descriptor>
</descriptors>
<features>
<feature>jbi-cluster</feature>
<feature>web</feature>
<feature>cxf-nmr</feature>
<feature>cxf-osgi</feature>
<feature>camel-activemq</feature>
<!-- ServiceMix components -->
<feature>servicemix-cxf-bc</feature>
<feature>servicemix-file</feature>
<feature>servicemix-ftp</feature>
<feature>servicemix-http</feature>
<feature>servicemix-jms</feature>
<feature>servicemix-mail</feature>
<feature>servicemix-bean</feature>
<feature>servicemix-camel</feature>
<feature>servicemix-cxf-se</feature>
<feature>servicemix-drools</feature>
<feature>servicemix-eip</feature>
<feature>servicemix-osworkflow</feature>
<feature>servicemix-quartz</feature>
<feature>servicemix-scripting</feature>
<feature>servicemix-validation</feature>
<feature>servicemix-saxon</feature>
<feature>servicemix-wsn2005</feature>
<feature>servicemix-snmp</feature>
<feature>servicemix-vfs</feature>
<feature>servicemix-smpp</feature>
</features>
<repository>target/features-repo</repository>
</configuration>
</execution>
</executions>
</plugin>
{code
> A better 'feature-assembly' plugin
> ----------------------------------
>
> Key: KARAF-165
> URL: https://issues.apache.org/jira/browse/KARAF-165
> Project: Karaf
> Issue Type: New Feature
> Affects Versions: 2.2.0
> Reporter: Adrian Trenaman
>
> Create an improved Maven feature-assembly plugin. Right now, to make a feature I've got to add almost a hundred lines of Maven verbage to my pom.xml in order to assemble a feature. I've got to use the attach-artifact goal of the org.codehaus.mojo/build-helper-maven-plugin to deploy my features file into Maven. I've got to use the add-features-to-repo goal from the org.apache.karaf.tooling/features-maven-plugin to suck down all the dependent bundles. I've got to a whole load of other stuff to perform the packaging to .tar.gz and .zip. The problem here is that I'm using a whole load of generic plugins to do a very specific job, and I'm having to tell the plugins what to do instead of telling them what I want done. I'd prefer to have a single more declarative plugin to do this. It might look like this:
> {code:xml}
> <plugin>
> <groupId>org.apache.karaf.tooling</groupId>
> <artifactId>feature-assembly-plugin</artifactId>
> <version>2.2.0</version>
> <executions>
> <execution>
> <id>create-repo</id>
> <phase>generate-resources</phase>
> <goals>
> <goal>create-repo</goal>
> </goals>
> <configuration>
> <!-- Specify the feature file to use. -->
> <featureFile>file:${basedir}/target/classes/features.xml</featureFile>
>
> <!-- Specify what features to include. This is actually optional: if no features
> are specified, then include all features in the file by default. -->
> <features>
> <feature>feature-a</feature>
> </features>
> </configuration>
> </execution>
> </executions>
> </plugin>
> {code}
> The plugin should produce a .tar.gz and .zip file, containing the feature descriptor (and all dependent descriptors) and all bundles (and dependent bundles)in a Maven-style directory, similar to the system/ directory currently used in Karaf. Note that this plugin doesn't need you to list out all the feature repositories / descriptors that your feature file may transitively include - it will detect these dependencies at runtime and work out the details.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.