You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Arnaud Deprez <ar...@gmail.com> on 2015/11/22 20:34:32 UTC

Keep repository definition while using karaf-maven-plugin

Hi folks,

I'm trying to use the karaf-maven-plugin to generate a kar file.

Here is my configuration:
I have 2 projects, one depends on the other. Each project has its own
feature file.
In my second project, I defined the following configuration :
<plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>karaf-maven-plugin</artifactId>
                <version>${karaf-plugin.version}</version>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>features-generate-descriptor</id>
                        <phase>package</phase>
                        <goals>
                            <goal>features-generate-descriptor</goal>
                        </goals>
                        <configuration>
                            <aggregateFeatures>true</aggregateFeatures>
                        </configuration>
                    </execution>
                    <execution>
                        <id>kar</id>
                        <phase>install</phase>
                        <goals>
                            <goal>kar</goal>
                        </goals>
                        <configuration>

<finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>

<ignoreDependencyFlag>true</ignoreDependencyFlag>

<!--<featuresFile>${project.build.directory}/classes/features.xml</featuresFile>-->

<featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

As I've imported the 2 features files in my dependencies, it works fine.
Except that in the second feature, I've defined <repository> (for example
to choose the right camel version) and those tags aren't aggregated in the
final feature.xml generated.

I didn't find any useful information to achieve that in the documentation.
So that's my question : is there a way to also aggregate repository tags ?

Regards,

Arnaud

Re: Keep repository definition while using karaf-maven-plugin

Posted by Arnaud Deprez <ar...@gmail.com>.
Hi JB,

I deep a bit into the code and the issue seems to come from the
class GenerateDescriptorMojo :

if (this.dependencyHelper.isArtifactAFeature(artifact)) {
                if (aggregateFeatures &&
FEATURE_CLASSIFIER.equals(this.dependencyHelper.getClassifier(artifact))) {
                    File featuresFile =
this.dependencyHelper.resolve(artifact, getLog());
                    if (featuresFile == null || !featuresFile.exists()) {
                        throw new MojoExecutionException("Cannot locate
file for feature: " + artifact + " at " + featuresFile);
                    }
                    Features includedFeatures =
readFeaturesFile(featuresFile);
                    //TODO check for duplicates?

features.getFeature().addAll(includedFeatures.getFeature());
                }
            }

We see that the features are aggregated but not the repositories.
Apparently, for the goal features-generate-descriptor, it seems that the
repository tag is simply not use, whatever the options you choose.

Regards,

Arnaud

On Sun, Nov 22, 2015 at 10:19 PM Arnaud Deprez <ar...@gmail.com>
wrote:

> Here is the example :
> https://github.com/arnaud-deprez/karaf-maven-plugin-samples
>
> So after performing mvn install, the feature.xml generated in
> aggregate-features/target/feature/feature.xml doesn't contain the
> repository tag from the features.xml from module feature2.
>
> Rgds,
>
> Arnaud
>
> On Sun, Nov 22, 2015 at 9:34 PM Jean-Baptiste Onofré <jb...@nanthrax.net>
> wrote:
>
>> That would be great. Else I will do it myself.
>>
>> Regards
>> JB
>>
>> On 11/22/2015 09:28 PM, Arnaud Deprez wrote:
>> > Sure but I can't give the whole project as it's a corporate project and
>> > I'm not allowed to that.
>> > If you need a whole project, I can try to reproduce it and push it my
>> > github.
>> >
>> > - features1.xml is the feature from the first project
>> > - features2.xml is the feature from my module in the second project
>> > - pom.xml is the pom my distribution module
>> >
>> > Rgds,
>> >
>> > Arnaud
>> >
>> > On Sun, Nov 22, 2015 at 9:14 PM Jean-Baptiste Onofré <jb@nanthrax.net
>> > <ma...@nanthrax.net>> wrote:
>> >
>> >     Can you share the pom.xml and features.xml ?
>> >
>> >     Regards
>> >     JB
>> >
>> >     On 11/22/2015 09:11 PM, Arnaud Deprez wrote:
>> >      > Hi JB,
>> >      >
>> >      > Sorry, I don't get what you mean by template or dependencies set.
>> >      >
>> >      > So basically, in my second project, I have a features maven
>> >     module where
>> >      > I'm defining the features.xml file. This file is templated with
>> maven
>> >      > properties and I use the maven resource plugin to replace
>> properties
>> >      > with maven property placeholder.
>> >      >
>> >      > Then, I have another module distribution where my configuration
>> is :
>> >      >
>> >      > ...
>> >      > <dependencies>
>> >      >          <dependency>
>> >      >              <groupId>${project.groupId}</groupId>
>> >      >              <artifactId>features</artifactId>
>> >      >              <version>${project.version}</version>
>> >      >              <type>xml</type>
>> >      >              <classifier>features</classifier>
>> >      >          </dependency>
>> >      >          <dependency>
>> >      >              <groupId>be.lampiris.pie2.el2</groupId>
>> >      >              <artifactId>el2-common-query-features</artifactId>
>> >      >              <version>${lampiris.query.version}</version>
>> >      >              <type>xml</type>
>> >      >              <classifier>features</classifier>
>> >      >          </dependency>
>> >      >      </dependencies>
>> >      > ...
>> >      >              <plugin>
>> >      >                  <groupId>org.apache.karaf.tooling</groupId>
>> >      >                  <artifactId>karaf-maven-plugin</artifactId>
>> >      >                  <version>${karaf-plugin.version}</version>
>> >      >                  <extensions>true</extensions>
>> >      >                  <executions>
>> >      >                      <execution>
>> >      >                          <id>features-generate-descriptor</id>
>> >      >                          <phase>package</phase>
>> >      >                          <goals>
>> >      >
>> >     <goal>features-generate-descriptor</goal>
>> >      >                          </goals>
>> >      >                          <configuration>
>> >      >
>> >     <aggregateFeatures>true</aggregateFeatures>
>> >      >                          </configuration>
>> >      >                      </execution>
>> >      >                      <execution>
>> >      >                          <id>kar</id>
>> >      >                          <phase>install</phase>
>> >      >                          <goals>
>> >      >                              <goal>kar</goal>
>> >      >                          </goals>
>> >      >                          <configuration>
>> >      >
>> >      >
>> >
>>  <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
>> >      >
>> >      > <ignoreDependencyFlag>true</ignoreDependencyFlag>
>> >      >
>> >      >
>> >
>>  <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
>> >      >                          </configuration>
>> >      >                      </execution>
>> >      >                  </executions>
>> >      >              </plugin>
>> >      > ...
>> >      >
>> >      > So I use dependencies to import my 2 features files.
>> >      > Does it help ?
>> >      >
>> >      > Regards,
>> >      >
>> >      > Arnaud
>> >      >
>> >      > On Sun, Nov 22, 2015 at 8:51 PM Jean-Baptiste Onofré
>> >     <jb@nanthrax.net <ma...@nanthrax.net>
>> >      > <mailto:jb@nanthrax.net <ma...@nanthrax.net>>> wrote:
>> >      >
>> >      >     Hi Arnaud,
>> >      >
>> >      >     Hmmm, it sounds like a bug.
>> >      >
>> >      >     Do you use a template for the generate descriptor or does it
>> >     use the
>> >      >     dependencies set ?
>> >      >
>> >      >     Regards
>> >      >     JB
>> >      >
>> >      >     On 11/22/2015 08:34 PM, Arnaud Deprez wrote:
>> >      >      > Hi folks,
>> >      >      >
>> >      >      > I'm trying to use the karaf-maven-plugin to generate a kar
>> >     file.
>> >      >      >
>> >      >      > Here is my configuration:
>> >      >      > I have 2 projects, one depends on the other. Each project
>> >     has its own
>> >      >      > feature file.
>> >      >      > In my second project, I defined the following
>> configuration :
>> >      >      > <plugin>
>> >      >      >
>> <groupId>org.apache.karaf.tooling</groupId>
>> >      >      >
>> <artifactId>karaf-maven-plugin</artifactId>
>> >      >      >
>> <version>${karaf-plugin.version}</version>
>> >      >      >                  <extensions>true</extensions>
>> >      >      >                  <executions>
>> >      >      >                      <execution>
>> >      >      >
>> <id>features-generate-descriptor</id>
>> >      >      >                          <phase>package</phase>
>> >      >      >                          <goals>
>> >      >      >
>> >      >     <goal>features-generate-descriptor</goal>
>> >      >      >                          </goals>
>> >      >      >                          <configuration>
>> >      >      >
>> >      >     <aggregateFeatures>true</aggregateFeatures>
>> >      >      >                          </configuration>
>> >      >      >                      </execution>
>> >      >      >                      <execution>
>> >      >      >                          <id>kar</id>
>> >      >      >                          <phase>install</phase>
>> >      >      >                          <goals>
>> >      >      >                              <goal>kar</goal>
>> >      >      >                          </goals>
>> >      >      >                          <configuration>
>> >      >      >
>> >      >      >
>> >      >
>> >
>>  <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
>> >      >      >
>> >      >      > <ignoreDependencyFlag>true</ignoreDependencyFlag>
>> >      >      >
>> >      >      >
>> >      >
>> >
>>  <!--<featuresFile>${project.build.directory}/classes/features.xml</featuresFile>-->
>> >      >      >
>> >      >      >
>> >      >
>> >
>>  <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
>> >      >      >                          </configuration>
>> >      >      >                      </execution>
>> >      >      >                  </executions>
>> >      >      >              </plugin>
>> >      >      >
>> >      >      > As I've imported the 2 features files in my dependencies,
>> it
>> >      >     works fine.
>> >      >      > Except that in the second feature, I've defined
>> >     <repository> (for
>> >      >      > example to choose the right camel version) and those tags
>> >     aren't
>> >      >      > aggregated in the final feature.xml generated.
>> >      >      >
>> >      >      > I didn't find any useful information to achieve that in
>> the
>> >      >      > documentation. So that's my question : is there a way to
>> also
>> >      >     aggregate
>> >      >      > repository tags ?
>> >      >      >
>> >      >      > Regards,
>> >      >      >
>> >      >      > Arnaud
>> >      >
>> >      >     --
>> >      >     Jean-Baptiste Onofré
>> >      > jbonofre@apache.org <ma...@apache.org>
>> >     <mailto:jbonofre@apache.org <ma...@apache.org>>
>> >      > http://blog.nanthrax.net
>> >      >     Talend - http://www.talend.com
>> >      >
>> >
>> >     --
>> >     Jean-Baptiste Onofré
>> >     jbonofre@apache.org <ma...@apache.org>
>> >     http://blog.nanthrax.net
>> >     Talend - http://www.talend.com
>> >
>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>

Re: Keep repository definition while using karaf-maven-plugin

Posted by Arnaud Deprez <ar...@gmail.com>.
Here is the example :
https://github.com/arnaud-deprez/karaf-maven-plugin-samples

So after performing mvn install, the feature.xml generated in
aggregate-features/target/feature/feature.xml doesn't contain the
repository tag from the features.xml from module feature2.

Rgds,

Arnaud

On Sun, Nov 22, 2015 at 9:34 PM Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:

> That would be great. Else I will do it myself.
>
> Regards
> JB
>
> On 11/22/2015 09:28 PM, Arnaud Deprez wrote:
> > Sure but I can't give the whole project as it's a corporate project and
> > I'm not allowed to that.
> > If you need a whole project, I can try to reproduce it and push it my
> > github.
> >
> > - features1.xml is the feature from the first project
> > - features2.xml is the feature from my module in the second project
> > - pom.xml is the pom my distribution module
> >
> > Rgds,
> >
> > Arnaud
> >
> > On Sun, Nov 22, 2015 at 9:14 PM Jean-Baptiste Onofré <jb@nanthrax.net
> > <ma...@nanthrax.net>> wrote:
> >
> >     Can you share the pom.xml and features.xml ?
> >
> >     Regards
> >     JB
> >
> >     On 11/22/2015 09:11 PM, Arnaud Deprez wrote:
> >      > Hi JB,
> >      >
> >      > Sorry, I don't get what you mean by template or dependencies set.
> >      >
> >      > So basically, in my second project, I have a features maven
> >     module where
> >      > I'm defining the features.xml file. This file is templated with
> maven
> >      > properties and I use the maven resource plugin to replace
> properties
> >      > with maven property placeholder.
> >      >
> >      > Then, I have another module distribution where my configuration
> is :
> >      >
> >      > ...
> >      > <dependencies>
> >      >          <dependency>
> >      >              <groupId>${project.groupId}</groupId>
> >      >              <artifactId>features</artifactId>
> >      >              <version>${project.version}</version>
> >      >              <type>xml</type>
> >      >              <classifier>features</classifier>
> >      >          </dependency>
> >      >          <dependency>
> >      >              <groupId>be.lampiris.pie2.el2</groupId>
> >      >              <artifactId>el2-common-query-features</artifactId>
> >      >              <version>${lampiris.query.version}</version>
> >      >              <type>xml</type>
> >      >              <classifier>features</classifier>
> >      >          </dependency>
> >      >      </dependencies>
> >      > ...
> >      >              <plugin>
> >      >                  <groupId>org.apache.karaf.tooling</groupId>
> >      >                  <artifactId>karaf-maven-plugin</artifactId>
> >      >                  <version>${karaf-plugin.version}</version>
> >      >                  <extensions>true</extensions>
> >      >                  <executions>
> >      >                      <execution>
> >      >                          <id>features-generate-descriptor</id>
> >      >                          <phase>package</phase>
> >      >                          <goals>
> >      >
> >     <goal>features-generate-descriptor</goal>
> >      >                          </goals>
> >      >                          <configuration>
> >      >
> >     <aggregateFeatures>true</aggregateFeatures>
> >      >                          </configuration>
> >      >                      </execution>
> >      >                      <execution>
> >      >                          <id>kar</id>
> >      >                          <phase>install</phase>
> >      >                          <goals>
> >      >                              <goal>kar</goal>
> >      >                          </goals>
> >      >                          <configuration>
> >      >
> >      >
> >
>  <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
> >      >
> >      > <ignoreDependencyFlag>true</ignoreDependencyFlag>
> >      >
> >      >
> >
>  <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
> >      >                          </configuration>
> >      >                      </execution>
> >      >                  </executions>
> >      >              </plugin>
> >      > ...
> >      >
> >      > So I use dependencies to import my 2 features files.
> >      > Does it help ?
> >      >
> >      > Regards,
> >      >
> >      > Arnaud
> >      >
> >      > On Sun, Nov 22, 2015 at 8:51 PM Jean-Baptiste Onofré
> >     <jb@nanthrax.net <ma...@nanthrax.net>
> >      > <mailto:jb@nanthrax.net <ma...@nanthrax.net>>> wrote:
> >      >
> >      >     Hi Arnaud,
> >      >
> >      >     Hmmm, it sounds like a bug.
> >      >
> >      >     Do you use a template for the generate descriptor or does it
> >     use the
> >      >     dependencies set ?
> >      >
> >      >     Regards
> >      >     JB
> >      >
> >      >     On 11/22/2015 08:34 PM, Arnaud Deprez wrote:
> >      >      > Hi folks,
> >      >      >
> >      >      > I'm trying to use the karaf-maven-plugin to generate a kar
> >     file.
> >      >      >
> >      >      > Here is my configuration:
> >      >      > I have 2 projects, one depends on the other. Each project
> >     has its own
> >      >      > feature file.
> >      >      > In my second project, I defined the following
> configuration :
> >      >      > <plugin>
> >      >      >
> <groupId>org.apache.karaf.tooling</groupId>
> >      >      >
> <artifactId>karaf-maven-plugin</artifactId>
> >      >      >                  <version>${karaf-plugin.version}</version>
> >      >      >                  <extensions>true</extensions>
> >      >      >                  <executions>
> >      >      >                      <execution>
> >      >      >
> <id>features-generate-descriptor</id>
> >      >      >                          <phase>package</phase>
> >      >      >                          <goals>
> >      >      >
> >      >     <goal>features-generate-descriptor</goal>
> >      >      >                          </goals>
> >      >      >                          <configuration>
> >      >      >
> >      >     <aggregateFeatures>true</aggregateFeatures>
> >      >      >                          </configuration>
> >      >      >                      </execution>
> >      >      >                      <execution>
> >      >      >                          <id>kar</id>
> >      >      >                          <phase>install</phase>
> >      >      >                          <goals>
> >      >      >                              <goal>kar</goal>
> >      >      >                          </goals>
> >      >      >                          <configuration>
> >      >      >
> >      >      >
> >      >
> >
>  <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
> >      >      >
> >      >      > <ignoreDependencyFlag>true</ignoreDependencyFlag>
> >      >      >
> >      >      >
> >      >
> >
>  <!--<featuresFile>${project.build.directory}/classes/features.xml</featuresFile>-->
> >      >      >
> >      >      >
> >      >
> >
>  <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
> >      >      >                          </configuration>
> >      >      >                      </execution>
> >      >      >                  </executions>
> >      >      >              </plugin>
> >      >      >
> >      >      > As I've imported the 2 features files in my dependencies,
> it
> >      >     works fine.
> >      >      > Except that in the second feature, I've defined
> >     <repository> (for
> >      >      > example to choose the right camel version) and those tags
> >     aren't
> >      >      > aggregated in the final feature.xml generated.
> >      >      >
> >      >      > I didn't find any useful information to achieve that in the
> >      >      > documentation. So that's my question : is there a way to
> also
> >      >     aggregate
> >      >      > repository tags ?
> >      >      >
> >      >      > Regards,
> >      >      >
> >      >      > Arnaud
> >      >
> >      >     --
> >      >     Jean-Baptiste Onofré
> >      > jbonofre@apache.org <ma...@apache.org>
> >     <mailto:jbonofre@apache.org <ma...@apache.org>>
> >      > http://blog.nanthrax.net
> >      >     Talend - http://www.talend.com
> >      >
> >
> >     --
> >     Jean-Baptiste Onofré
> >     jbonofre@apache.org <ma...@apache.org>
> >     http://blog.nanthrax.net
> >     Talend - http://www.talend.com
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Keep repository definition while using karaf-maven-plugin

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
That would be great. Else I will do it myself.

Regards
JB

On 11/22/2015 09:28 PM, Arnaud Deprez wrote:
> Sure but I can't give the whole project as it's a corporate project and
> I'm not allowed to that.
> If you need a whole project, I can try to reproduce it and push it my
> github.
>
> - features1.xml is the feature from the first project
> - features2.xml is the feature from my module in the second project
> - pom.xml is the pom my distribution module
>
> Rgds,
>
> Arnaud
>
> On Sun, Nov 22, 2015 at 9:14 PM Jean-Baptiste Onofré <jb@nanthrax.net
> <ma...@nanthrax.net>> wrote:
>
>     Can you share the pom.xml and features.xml ?
>
>     Regards
>     JB
>
>     On 11/22/2015 09:11 PM, Arnaud Deprez wrote:
>      > Hi JB,
>      >
>      > Sorry, I don't get what you mean by template or dependencies set.
>      >
>      > So basically, in my second project, I have a features maven
>     module where
>      > I'm defining the features.xml file. This file is templated with maven
>      > properties and I use the maven resource plugin to replace properties
>      > with maven property placeholder.
>      >
>      > Then, I have another module distribution where my configuration is :
>      >
>      > ...
>      > <dependencies>
>      >          <dependency>
>      >              <groupId>${project.groupId}</groupId>
>      >              <artifactId>features</artifactId>
>      >              <version>${project.version}</version>
>      >              <type>xml</type>
>      >              <classifier>features</classifier>
>      >          </dependency>
>      >          <dependency>
>      >              <groupId>be.lampiris.pie2.el2</groupId>
>      >              <artifactId>el2-common-query-features</artifactId>
>      >              <version>${lampiris.query.version}</version>
>      >              <type>xml</type>
>      >              <classifier>features</classifier>
>      >          </dependency>
>      >      </dependencies>
>      > ...
>      >              <plugin>
>      >                  <groupId>org.apache.karaf.tooling</groupId>
>      >                  <artifactId>karaf-maven-plugin</artifactId>
>      >                  <version>${karaf-plugin.version}</version>
>      >                  <extensions>true</extensions>
>      >                  <executions>
>      >                      <execution>
>      >                          <id>features-generate-descriptor</id>
>      >                          <phase>package</phase>
>      >                          <goals>
>      >
>     <goal>features-generate-descriptor</goal>
>      >                          </goals>
>      >                          <configuration>
>      >
>     <aggregateFeatures>true</aggregateFeatures>
>      >                          </configuration>
>      >                      </execution>
>      >                      <execution>
>      >                          <id>kar</id>
>      >                          <phase>install</phase>
>      >                          <goals>
>      >                              <goal>kar</goal>
>      >                          </goals>
>      >                          <configuration>
>      >
>      >
>     <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
>      >
>      > <ignoreDependencyFlag>true</ignoreDependencyFlag>
>      >
>      >
>     <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
>      >                          </configuration>
>      >                      </execution>
>      >                  </executions>
>      >              </plugin>
>      > ...
>      >
>      > So I use dependencies to import my 2 features files.
>      > Does it help ?
>      >
>      > Regards,
>      >
>      > Arnaud
>      >
>      > On Sun, Nov 22, 2015 at 8:51 PM Jean-Baptiste Onofré
>     <jb@nanthrax.net <ma...@nanthrax.net>
>      > <mailto:jb@nanthrax.net <ma...@nanthrax.net>>> wrote:
>      >
>      >     Hi Arnaud,
>      >
>      >     Hmmm, it sounds like a bug.
>      >
>      >     Do you use a template for the generate descriptor or does it
>     use the
>      >     dependencies set ?
>      >
>      >     Regards
>      >     JB
>      >
>      >     On 11/22/2015 08:34 PM, Arnaud Deprez wrote:
>      >      > Hi folks,
>      >      >
>      >      > I'm trying to use the karaf-maven-plugin to generate a kar
>     file.
>      >      >
>      >      > Here is my configuration:
>      >      > I have 2 projects, one depends on the other. Each project
>     has its own
>      >      > feature file.
>      >      > In my second project, I defined the following configuration :
>      >      > <plugin>
>      >      >                  <groupId>org.apache.karaf.tooling</groupId>
>      >      >                  <artifactId>karaf-maven-plugin</artifactId>
>      >      >                  <version>${karaf-plugin.version}</version>
>      >      >                  <extensions>true</extensions>
>      >      >                  <executions>
>      >      >                      <execution>
>      >      >                          <id>features-generate-descriptor</id>
>      >      >                          <phase>package</phase>
>      >      >                          <goals>
>      >      >
>      >     <goal>features-generate-descriptor</goal>
>      >      >                          </goals>
>      >      >                          <configuration>
>      >      >
>      >     <aggregateFeatures>true</aggregateFeatures>
>      >      >                          </configuration>
>      >      >                      </execution>
>      >      >                      <execution>
>      >      >                          <id>kar</id>
>      >      >                          <phase>install</phase>
>      >      >                          <goals>
>      >      >                              <goal>kar</goal>
>      >      >                          </goals>
>      >      >                          <configuration>
>      >      >
>      >      >
>      >
>       <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
>      >      >
>      >      > <ignoreDependencyFlag>true</ignoreDependencyFlag>
>      >      >
>      >      >
>      >
>       <!--<featuresFile>${project.build.directory}/classes/features.xml</featuresFile>-->
>      >      >
>      >      >
>      >
>       <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
>      >      >                          </configuration>
>      >      >                      </execution>
>      >      >                  </executions>
>      >      >              </plugin>
>      >      >
>      >      > As I've imported the 2 features files in my dependencies, it
>      >     works fine.
>      >      > Except that in the second feature, I've defined
>     <repository> (for
>      >      > example to choose the right camel version) and those tags
>     aren't
>      >      > aggregated in the final feature.xml generated.
>      >      >
>      >      > I didn't find any useful information to achieve that in the
>      >      > documentation. So that's my question : is there a way to also
>      >     aggregate
>      >      > repository tags ?
>      >      >
>      >      > Regards,
>      >      >
>      >      > Arnaud
>      >
>      >     --
>      >     Jean-Baptiste Onofré
>      > jbonofre@apache.org <ma...@apache.org>
>     <mailto:jbonofre@apache.org <ma...@apache.org>>
>      > http://blog.nanthrax.net
>      >     Talend - http://www.talend.com
>      >
>
>     --
>     Jean-Baptiste Onofré
>     jbonofre@apache.org <ma...@apache.org>
>     http://blog.nanthrax.net
>     Talend - http://www.talend.com
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Keep repository definition while using karaf-maven-plugin

Posted by Arnaud Deprez <ar...@gmail.com>.
Sure but I can't give the whole project as it's a corporate project and I'm
not allowed to that.
If you need a whole project, I can try to reproduce it and push it my
github.

- features1.xml is the feature from the first project
- features2.xml is the feature from my module in the second project
- pom.xml is the pom my distribution module

Rgds,

Arnaud

On Sun, Nov 22, 2015 at 9:14 PM Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:

> Can you share the pom.xml and features.xml ?
>
> Regards
> JB
>
> On 11/22/2015 09:11 PM, Arnaud Deprez wrote:
> > Hi JB,
> >
> > Sorry, I don't get what you mean by template or dependencies set.
> >
> > So basically, in my second project, I have a features maven module where
> > I'm defining the features.xml file. This file is templated with maven
> > properties and I use the maven resource plugin to replace properties
> > with maven property placeholder.
> >
> > Then, I have another module distribution where my configuration is :
> >
> > ...
> > <dependencies>
> >          <dependency>
> >              <groupId>${project.groupId}</groupId>
> >              <artifactId>features</artifactId>
> >              <version>${project.version}</version>
> >              <type>xml</type>
> >              <classifier>features</classifier>
> >          </dependency>
> >          <dependency>
> >              <groupId>be.lampiris.pie2.el2</groupId>
> >              <artifactId>el2-common-query-features</artifactId>
> >              <version>${lampiris.query.version}</version>
> >              <type>xml</type>
> >              <classifier>features</classifier>
> >          </dependency>
> >      </dependencies>
> > ...
> >              <plugin>
> >                  <groupId>org.apache.karaf.tooling</groupId>
> >                  <artifactId>karaf-maven-plugin</artifactId>
> >                  <version>${karaf-plugin.version}</version>
> >                  <extensions>true</extensions>
> >                  <executions>
> >                      <execution>
> >                          <id>features-generate-descriptor</id>
> >                          <phase>package</phase>
> >                          <goals>
> >                              <goal>features-generate-descriptor</goal>
> >                          </goals>
> >                          <configuration>
> >                              <aggregateFeatures>true</aggregateFeatures>
> >                          </configuration>
> >                      </execution>
> >                      <execution>
> >                          <id>kar</id>
> >                          <phase>install</phase>
> >                          <goals>
> >                              <goal>kar</goal>
> >                          </goals>
> >                          <configuration>
> >
> >
> <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
> >
> > <ignoreDependencyFlag>true</ignoreDependencyFlag>
> >
> >
> <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
> >                          </configuration>
> >                      </execution>
> >                  </executions>
> >              </plugin>
> > ...
> >
> > So I use dependencies to import my 2 features files.
> > Does it help ?
> >
> > Regards,
> >
> > Arnaud
> >
> > On Sun, Nov 22, 2015 at 8:51 PM Jean-Baptiste Onofré <jb@nanthrax.net
> > <ma...@nanthrax.net>> wrote:
> >
> >     Hi Arnaud,
> >
> >     Hmmm, it sounds like a bug.
> >
> >     Do you use a template for the generate descriptor or does it use the
> >     dependencies set ?
> >
> >     Regards
> >     JB
> >
> >     On 11/22/2015 08:34 PM, Arnaud Deprez wrote:
> >      > Hi folks,
> >      >
> >      > I'm trying to use the karaf-maven-plugin to generate a kar file.
> >      >
> >      > Here is my configuration:
> >      > I have 2 projects, one depends on the other. Each project has its
> own
> >      > feature file.
> >      > In my second project, I defined the following configuration :
> >      > <plugin>
> >      >                  <groupId>org.apache.karaf.tooling</groupId>
> >      >                  <artifactId>karaf-maven-plugin</artifactId>
> >      >                  <version>${karaf-plugin.version}</version>
> >      >                  <extensions>true</extensions>
> >      >                  <executions>
> >      >                      <execution>
> >      >                          <id>features-generate-descriptor</id>
> >      >                          <phase>package</phase>
> >      >                          <goals>
> >      >
> >     <goal>features-generate-descriptor</goal>
> >      >                          </goals>
> >      >                          <configuration>
> >      >
> >     <aggregateFeatures>true</aggregateFeatures>
> >      >                          </configuration>
> >      >                      </execution>
> >      >                      <execution>
> >      >                          <id>kar</id>
> >      >                          <phase>install</phase>
> >      >                          <goals>
> >      >                              <goal>kar</goal>
> >      >                          </goals>
> >      >                          <configuration>
> >      >
> >      >
> >
>  <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
> >      >
> >      > <ignoreDependencyFlag>true</ignoreDependencyFlag>
> >      >
> >      >
> >
>  <!--<featuresFile>${project.build.directory}/classes/features.xml</featuresFile>-->
> >      >
> >      >
> >
>  <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
> >      >                          </configuration>
> >      >                      </execution>
> >      >                  </executions>
> >      >              </plugin>
> >      >
> >      > As I've imported the 2 features files in my dependencies, it
> >     works fine.
> >      > Except that in the second feature, I've defined <repository> (for
> >      > example to choose the right camel version) and those tags aren't
> >      > aggregated in the final feature.xml generated.
> >      >
> >      > I didn't find any useful information to achieve that in the
> >      > documentation. So that's my question : is there a way to also
> >     aggregate
> >      > repository tags ?
> >      >
> >      > Regards,
> >      >
> >      > Arnaud
> >
> >     --
> >     Jean-Baptiste Onofré
> >     jbonofre@apache.org <ma...@apache.org>
> >     http://blog.nanthrax.net
> >     Talend - http://www.talend.com
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Keep repository definition while using karaf-maven-plugin

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Can you share the pom.xml and features.xml ?

Regards
JB

On 11/22/2015 09:11 PM, Arnaud Deprez wrote:
> Hi JB,
>
> Sorry, I don't get what you mean by template or dependencies set.
>
> So basically, in my second project, I have a features maven module where
> I'm defining the features.xml file. This file is templated with maven
> properties and I use the maven resource plugin to replace properties
> with maven property placeholder.
>
> Then, I have another module distribution where my configuration is :
>
> ...
> <dependencies>
>          <dependency>
>              <groupId>${project.groupId}</groupId>
>              <artifactId>features</artifactId>
>              <version>${project.version}</version>
>              <type>xml</type>
>              <classifier>features</classifier>
>          </dependency>
>          <dependency>
>              <groupId>be.lampiris.pie2.el2</groupId>
>              <artifactId>el2-common-query-features</artifactId>
>              <version>${lampiris.query.version}</version>
>              <type>xml</type>
>              <classifier>features</classifier>
>          </dependency>
>      </dependencies>
> ...
>              <plugin>
>                  <groupId>org.apache.karaf.tooling</groupId>
>                  <artifactId>karaf-maven-plugin</artifactId>
>                  <version>${karaf-plugin.version}</version>
>                  <extensions>true</extensions>
>                  <executions>
>                      <execution>
>                          <id>features-generate-descriptor</id>
>                          <phase>package</phase>
>                          <goals>
>                              <goal>features-generate-descriptor</goal>
>                          </goals>
>                          <configuration>
>                              <aggregateFeatures>true</aggregateFeatures>
>                          </configuration>
>                      </execution>
>                      <execution>
>                          <id>kar</id>
>                          <phase>install</phase>
>                          <goals>
>                              <goal>kar</goal>
>                          </goals>
>                          <configuration>
>
> <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
>
> <ignoreDependencyFlag>true</ignoreDependencyFlag>
>
> <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
>                          </configuration>
>                      </execution>
>                  </executions>
>              </plugin>
> ...
>
> So I use dependencies to import my 2 features files.
> Does it help ?
>
> Regards,
>
> Arnaud
>
> On Sun, Nov 22, 2015 at 8:51 PM Jean-Baptiste Onofré <jb@nanthrax.net
> <ma...@nanthrax.net>> wrote:
>
>     Hi Arnaud,
>
>     Hmmm, it sounds like a bug.
>
>     Do you use a template for the generate descriptor or does it use the
>     dependencies set ?
>
>     Regards
>     JB
>
>     On 11/22/2015 08:34 PM, Arnaud Deprez wrote:
>      > Hi folks,
>      >
>      > I'm trying to use the karaf-maven-plugin to generate a kar file.
>      >
>      > Here is my configuration:
>      > I have 2 projects, one depends on the other. Each project has its own
>      > feature file.
>      > In my second project, I defined the following configuration :
>      > <plugin>
>      >                  <groupId>org.apache.karaf.tooling</groupId>
>      >                  <artifactId>karaf-maven-plugin</artifactId>
>      >                  <version>${karaf-plugin.version}</version>
>      >                  <extensions>true</extensions>
>      >                  <executions>
>      >                      <execution>
>      >                          <id>features-generate-descriptor</id>
>      >                          <phase>package</phase>
>      >                          <goals>
>      >
>     <goal>features-generate-descriptor</goal>
>      >                          </goals>
>      >                          <configuration>
>      >
>     <aggregateFeatures>true</aggregateFeatures>
>      >                          </configuration>
>      >                      </execution>
>      >                      <execution>
>      >                          <id>kar</id>
>      >                          <phase>install</phase>
>      >                          <goals>
>      >                              <goal>kar</goal>
>      >                          </goals>
>      >                          <configuration>
>      >
>      >
>     <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
>      >
>      > <ignoreDependencyFlag>true</ignoreDependencyFlag>
>      >
>      >
>     <!--<featuresFile>${project.build.directory}/classes/features.xml</featuresFile>-->
>      >
>      >
>     <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
>      >                          </configuration>
>      >                      </execution>
>      >                  </executions>
>      >              </plugin>
>      >
>      > As I've imported the 2 features files in my dependencies, it
>     works fine.
>      > Except that in the second feature, I've defined <repository> (for
>      > example to choose the right camel version) and those tags aren't
>      > aggregated in the final feature.xml generated.
>      >
>      > I didn't find any useful information to achieve that in the
>      > documentation. So that's my question : is there a way to also
>     aggregate
>      > repository tags ?
>      >
>      > Regards,
>      >
>      > Arnaud
>
>     --
>     Jean-Baptiste Onofré
>     jbonofre@apache.org <ma...@apache.org>
>     http://blog.nanthrax.net
>     Talend - http://www.talend.com
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Keep repository definition while using karaf-maven-plugin

Posted by Arnaud Deprez <ar...@gmail.com>.
Hi JB,

Sorry, I don't get what you mean by template or dependencies set.

So basically, in my second project, I have a features maven module where
I'm defining the features.xml file. This file is templated with maven
properties and I use the maven resource plugin to replace properties with
maven property placeholder.

Then, I have another module distribution where my configuration is :

...
<dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>features</artifactId>
            <version>${project.version}</version>
            <type>xml</type>
            <classifier>features</classifier>
        </dependency>
        <dependency>
            <groupId>be.lampiris.pie2.el2</groupId>
            <artifactId>el2-common-query-features</artifactId>
            <version>${lampiris.query.version}</version>
            <type>xml</type>
            <classifier>features</classifier>
        </dependency>
    </dependencies>
...
            <plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>karaf-maven-plugin</artifactId>
                <version>${karaf-plugin.version}</version>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>features-generate-descriptor</id>
                        <phase>package</phase>
                        <goals>
                            <goal>features-generate-descriptor</goal>
                        </goals>
                        <configuration>
                            <aggregateFeatures>true</aggregateFeatures>
                        </configuration>
                    </execution>
                    <execution>
                        <id>kar</id>
                        <phase>install</phase>
                        <goals>
                            <goal>kar</goal>
                        </goals>
                        <configuration>

<finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>

<ignoreDependencyFlag>true</ignoreDependencyFlag>

<featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
...

So I use dependencies to import my 2 features files.
Does it help ?

Regards,

Arnaud

On Sun, Nov 22, 2015 at 8:51 PM Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:

> Hi Arnaud,
>
> Hmmm, it sounds like a bug.
>
> Do you use a template for the generate descriptor or does it use the
> dependencies set ?
>
> Regards
> JB
>
> On 11/22/2015 08:34 PM, Arnaud Deprez wrote:
> > Hi folks,
> >
> > I'm trying to use the karaf-maven-plugin to generate a kar file.
> >
> > Here is my configuration:
> > I have 2 projects, one depends on the other. Each project has its own
> > feature file.
> > In my second project, I defined the following configuration :
> > <plugin>
> >                  <groupId>org.apache.karaf.tooling</groupId>
> >                  <artifactId>karaf-maven-plugin</artifactId>
> >                  <version>${karaf-plugin.version}</version>
> >                  <extensions>true</extensions>
> >                  <executions>
> >                      <execution>
> >                          <id>features-generate-descriptor</id>
> >                          <phase>package</phase>
> >                          <goals>
> >                              <goal>features-generate-descriptor</goal>
> >                          </goals>
> >                          <configuration>
> >                              <aggregateFeatures>true</aggregateFeatures>
> >                          </configuration>
> >                      </execution>
> >                      <execution>
> >                          <id>kar</id>
> >                          <phase>install</phase>
> >                          <goals>
> >                              <goal>kar</goal>
> >                          </goals>
> >                          <configuration>
> >
> >
> <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
> >
> > <ignoreDependencyFlag>true</ignoreDependencyFlag>
> >
> >
> <!--<featuresFile>${project.build.directory}/classes/features.xml</featuresFile>-->
> >
> >
> <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
> >                          </configuration>
> >                      </execution>
> >                  </executions>
> >              </plugin>
> >
> > As I've imported the 2 features files in my dependencies, it works fine.
> > Except that in the second feature, I've defined <repository> (for
> > example to choose the right camel version) and those tags aren't
> > aggregated in the final feature.xml generated.
> >
> > I didn't find any useful information to achieve that in the
> > documentation. So that's my question : is there a way to also aggregate
> > repository tags ?
> >
> > Regards,
> >
> > Arnaud
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Keep repository definition while using karaf-maven-plugin

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Arnaud,

Hmmm, it sounds like a bug.

Do you use a template for the generate descriptor or does it use the 
dependencies set ?

Regards
JB

On 11/22/2015 08:34 PM, Arnaud Deprez wrote:
> Hi folks,
>
> I'm trying to use the karaf-maven-plugin to generate a kar file.
>
> Here is my configuration:
> I have 2 projects, one depends on the other. Each project has its own
> feature file.
> In my second project, I defined the following configuration :
> <plugin>
>                  <groupId>org.apache.karaf.tooling</groupId>
>                  <artifactId>karaf-maven-plugin</artifactId>
>                  <version>${karaf-plugin.version}</version>
>                  <extensions>true</extensions>
>                  <executions>
>                      <execution>
>                          <id>features-generate-descriptor</id>
>                          <phase>package</phase>
>                          <goals>
>                              <goal>features-generate-descriptor</goal>
>                          </goals>
>                          <configuration>
>                              <aggregateFeatures>true</aggregateFeatures>
>                          </configuration>
>                      </execution>
>                      <execution>
>                          <id>kar</id>
>                          <phase>install</phase>
>                          <goals>
>                              <goal>kar</goal>
>                          </goals>
>                          <configuration>
>
> <finalName>Lampiris-${project.parent.artifactId}-${project.version}</finalName>
>
> <ignoreDependencyFlag>true</ignoreDependencyFlag>
>
> <!--<featuresFile>${project.build.directory}/classes/features.xml</featuresFile>-->
>
> <featuresFile>${project.build.directory}/feature/feature.xml</featuresFile>
>                          </configuration>
>                      </execution>
>                  </executions>
>              </plugin>
>
> As I've imported the 2 features files in my dependencies, it works fine.
> Except that in the second feature, I've defined <repository> (for
> example to choose the right camel version) and those tags aren't
> aggregated in the final feature.xml generated.
>
> I didn't find any useful information to achieve that in the
> documentation. So that's my question : is there a way to also aggregate
> repository tags ?
>
> Regards,
>
> Arnaud

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com