Hi Alex,

Take a look at the code here https://github.com/apache/karaf/tree/master/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling

There is an "AssemblyMojo" & a ArchiveMojo (the 2 ones you use).

There are all the parameters defined for a specific goal, with sometimes some comments on the parameter.

I hope this help you clarify it a bit.

Regards,
Morgan

PS: JB is away (travel) so he may not immediately respond if you need his knowledge.

On 2016-04-21 17:10, Alex Soto wrote:
Not having any luck here!!

Changed pom packaging to ‘pom’ and configured both goals ‘assembly’ and 
‘archive’ as separate executions:

<plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>karaf-maven-plugin</artifactId>
                <executions>
                        <execution>
                                <id>gen-assembly-la1</id>
                                <phase>prepare-package</phase>
                                <goals>
                                        <goal>assembly</goal>
                                </goals>
                                <configuration>
                                        <classifier>la1</classifier>
                                        
<resourcesDir>${project.build.directory}/la1/resources</resourcesDir>
                                         
<targetServerDirectory>${project.build.directory}/la1/assembly</targetServerDirectory>


Both the <resourcesDir> and <targetServerDirectory> are ignored.

Then on the archive goal:

                                        <execution>
                                                <id>package-la1</id>
                                                <phase>package</phase>
                                                <goals>
                                                        <goal>archive</goal>
                                                </goals>
                                                <configuration>
                                                        
<classifier>la1</classifier>
                                                        
<archiveTarGz>true</archiveTarGz>
                                                        
<archiveZip>false</archiveZip>
                                                        
<targetFile>${project.artifactId}-${project.version}-la1</targetFile>
                                                </configuration>
                                        </execution>

It also ignores the <targetFile> configuration.  This should’t be that hard, 
what’s going on?  Any help?

Best regards,
Alex soto


On Apr 20, 2016, at 4:14 PM, Alex Soto <[email protected]> wrote:

Is there a good example?  The one in the Karaf documentation page does not 
address this scenario, which is not uncommon; usually you will need different 
settings for each environment (DEV, TEST, UAT, PROD, etc.,) so cloning the 
project is not a practical approach.  I tried with profiles but that too is not 
very practical, since you have build the same project multiple times, and the 
resulting archives are not deployed correctly to the Maven repository.


On Apr 20, 2016, at 11:03 AM, Alex Soto <[email protected]> wrote:

Thank you JB,

Which goal should I use?


Best regards,
Alex Soto


On Apr 20, 2016, at 10:18 AM, Jean-Baptiste Onofré <[email protected]> wrote:

Hi Alex

Using execution with the goal should do the trick (instead of just plugin 
definition).

Regards
JB


-------- Original message --------
From: Alex Soto <[email protected]>
Date: 20/04/2016 15:19 (GMT+01:00)
To: [email protected]
Subject: karaf-maven-plugin multiple outputs with classifiers

Hello,

I am trying (unsuccessfully) to us the 'karaf-maven-plugin’ to generate 
multiple archives from the same pom, using classifiers and executions.

I have something like this:


<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<configuration>
<bootFeatures>
<feature>wrap</feature>
<feature>aries-blueprint</feature>
<feature>shell</feature>
<feature>shell-compat</feature>
<feature>feature</feature>
<feature>jaas</feature>
<feature>ssh</feature>
<feature>management</feature>
<feature>bundle</feature>
<feature>config</feature>
<feature>deployer</feature>
<feature>diagnostic</feature>
<feature>feature</feature>
<feature>instance</feature>
<feature>kar</feature>
<feature>log</feature>
<feature>package</feature>
<feature>service</feature>
<feature>system</feature>
</bootFeatures>
</configuration>
<executions>
<execution>
<id>la1</id>
<configuration>
<classifier>la1</classifier>
<resourcesDir>${project.build.outputDirectory}/la1</resourcesDir>
</configuration>
</execution>
<execution>
<id>la2</id>
<configuration>
<classifier>la2</classifier>
<resourcesDir>${project.build.outputDirectory}/la2</resourcesDir>
</configuration>
</execution>
</executions>
</plugin>


The difference between the two archives is in the resources, so I am specifying 
different ‘resourcesDir’ paths for each.   The list of boot features will be 
the same for both executions, so I put it in the general configuration section 
of the plugin.

When built, I am only getting a single archive output.
Is it possible to do this with the 'karaf-maven-plugin’ plugin?

Best regards,
Alex soto





Reply via email to