Hi Christoph,
I think you are able to configure dependencies policy in several poms differently.
You can say in general, that optional dependencies should be ignored, and on specific places where are needed you will just change the settings.
And if you want also optional dependencies builded separately, just create new product/parent pom where you will change dependency policy.
Regards,
Jan
Kind regards / S pozdravem
Jan Pešta
SW Engineer Sr.
CertiCon a.s., www.certicon.cz
Vaclavska 12
12000 Prague 2
Czech Republic
Office Prague: +420 224 904 406
Mobile: +420 604 794 306
E-mail: jan.pesta@xxxxxxxxxxx
From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Christophe Bouhier
Sent: Friday, September 27, 2013 2:28 PM
To: Tycho user list
Subject: [tycho-user] optional dependencies - one more thing....
Ok, all builds fine with Tycho now, but I noticed that the materialized
plugins from a product include the optional dependencies [2], while I did configure to ignore dependencies in the root pom [2].
So I also added this config for the tycho-p2-director-plugin for the product, but with no effect.
So how do I instruct tycho-p2-director-plugin not to materialize optional plugins?
[1]Root POM.XML
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.netxforge.netxstudio</groupId>
<artifactId>com.netxforge.releng</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho-version>0.18.0</tycho-version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<dependency-resolution>
<optionalDependencies>ignore</optionalDependencies>
</dependency-resolution>
<target>
<artifact>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<classifier>../../releng.tycho/com.netxforge.releng.target/netxstudio_kepler</classifier>
</artifact>
</target>
<environments>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<modules>
<module>
../../plugins
</module>
<module>
../../features
</module>
<module>
../../3rdPartyFeatures
</module>
<module>
../../3rdPartyLib
</module>
<module>
../../libs.eclipse
</module>
<module>
../../products/com.netxforge.releng.products.netxserver
</module>
<module>
../../products/com.netxforge.releng.products.netxstudio.cdo
</module>
</modules>
</project>
[2] com.netxforge.releng.products.netxstudio.cdo / pom.xml
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.netxforge.releng.products.netxstudio.cdo</groupId>
<artifactId>com.netxforge.releng.products.netxstudio.cdo</artifactId>
<version>1.1.8-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<parent>
<groupId>com.netxforge.netxstudio</groupId>
<artifactId>com.netxforge.releng</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../../releng.tycho/com.netxforge.releng</relativePath>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<dependency-resolution>
<optionalDependencies>ignore</optionalDependencies>
</dependency-resolution>
</configuration>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>