Discussion:
[tycho-user] Building an EAR artifact based on the Manifest-First approach
s***@web.de
2017-03-16 13:19:03 UTC
Permalink
_______________________________________________
tycho-user mailing list
tycho-***@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
SCHREIBER.Martin
2017-03-17 05:29:11 UTC
Permalink
Hi Sandra,

I do not have ready to use solution but some ideas that might help. The following seems to work for WARs:


1. Create a self-contained eclipse-repository artifact with your RCP features

https://wiki.eclipse.org/Tycho/eclipse-repository#Creating_a_self-contained_p2_repository

1. Within the WAR project’s pom the maven-dependency-plugin unpacks the eclipse repositories zip into a directory and the maven-resources-plugin copies the jars into the WEB-INF/lib directory which will be packed into the war by the maven war plugin:


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>mywar</artifactId>
<groupId>mygroup</groupId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>


<build>
<plugins>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>unpack</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<!—This are the maven coordinates of the eclipse update site -->
<artifactId>artifactIdOfTheEclipseRepository</artifactId>
<groupId>groupIdOfTheEclipseRepository</groupId>
<version>1.0.0-SNAPSHOT</version>
<type>zip</type>
<overWrite>true</overWrite>
<includes>**/plugins/*.jar</includes>
<outputDirectory>${project.build.directory}/dependencies/</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.name}-${project.version}/WEB-INF/lib</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}/dependencies/plugins</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>

Von: tycho-user-***@eclipse.org [mailto:tycho-user-***@eclipse.org] Im Auftrag von ***@web.de
Gesendet: Donnerstag, 16. MÀrz 2017 14:19
An: tycho-***@eclipse.org
Betreff: [tycho-user] Building an EAR artifact based on the Manifest-First approach


Hello mailing list,

We use Maven Tycho for building our RCP application, that consits of one product, several features and severel eclipse plugins. We use the Manifest-first approach, so that our POMs don't have any dependencies information. It works like a charm. But now some of the eclipse plugins / bundle should be reused in a server application. The deplyoment artifact should be an EAR file. My first thought was to use the maven-ear-plugin. But it doesn't help me to pack a full deployable EAR artifact, because without the dependency information in the reused bundle's POM, the maven-ear-plugin can't collect the all needed dependencies. My next idea was to change the build of the bundle to the classical POM-first approach combinated with the maven-bundle-plugin for the the MANIFEST.MF generation. This idea wasn't accepted by my colleagues because they don't want to have two approachs for creating the MANIFEST.MF. So my question to you is, does anyone know how to build an full deployable EAR artifact based on the dependency information in the MANIFEST.MF of the bundles?

Thank you and best regards,

Sandra
s***@web.de
2017-03-17 14:43:42 UTC
Permalink
_______________________________________________
tycho-user mailing list
tycho-***@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user
Loading...