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

Adrian Trenaman commented on KARAF-165:
---------------------------------------

Thanks for the input Charles! 

I actually do want to be able to recursively pull down whatever dependencies I 
need: I just want to pull down the features in my own feature file, and then 
just dependent features from any other repositories. So, if I have a camel 
route in a bundle that needs camel-core and camel-jms, then I'd like to pull 
down these features as well with ease. 

I get your point that, right now, I have full control over naming my 
repository. Thing is, my goal is to make this REALLY SIMPLE. So, if we can get 
away without having to ask that the developer makes a decision about naming, 
but instead uses a well known convention by default, then I'm all for it. 

Love the hack about adding the feature repository as a feature! Still though, 
for me, it is a hack and our user shouldn't have to do it. 

Please understand my motivations. I know that right now I can do everything I 
want to with a whole load of Maven plugins! That's exactly the problem though: 
I just want this assembly packaging to be easier, and not require screenfuls of 
Maven to acheive.  


> 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