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.

Reply via email to