[ 
https://issues.apache.org/jira/browse/KARAF-165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12903353#action_12903353
 ] 

Charles Moulliard commented on KARAF-165:
-----------------------------------------

Hi Ade,

* You've got to recursively figure out the repositories and then add them as 
descriptors to this plugin configuration
* You've got to list all the features you want incuded
>>> Using recursion is interesting but means also that all the features defined 
>>> in a feature file will be added even if you don't want them. Sometimes, a 
>>> feature file refers to another feature repository and can potentially 
>>> create cycling dependency (In this case, this is not important I think).

* You've got to specify the target repository (I'd prefer a well known name or 
convention)
>>> What do you want to do which is not implemented in the existing karaf 
>>> tooling plugin (target repo can be what you want --> target/myProject) ?

* This plugin will put all the bundles in the target repository, but not the 
features file itself!
>>> This is a bit "tirer par les cheveux" but you can add the feature file in 
>>> the feature file like this :

    <feature name="karaf-features" version="2.0.0">
        
<bundle>file://c:/chm/repository/org/apache/karaf/apache-karaf/2.0.0/apache-karaf-2.0.0-features.xml&lt;/bundle>
    </feature>

and call using the maven plugin the feature --> 
<feature>karaf-features</feature>

Regards,

Charles 

> 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