Note that there is a bug in the target platform filter implementation - it doesn’t apply to pom dependencies:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=396999
As a workaround, you can use the standard Maven syntax to manipulate the transitive dependencies of a POM dependency. This works as expected. Check
the dependency tree (e.g. in the m2e POM editor) to see which dependency is pulling in the wrong version of guava.
Regards
Tobias
From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx]
On Behalf Of Artem Grebenkin
Sent: Dienstag, 14. Mai 2013 23:27
To: tycho-user@xxxxxxxxxxx
Subject: [tycho-user] Replace bundle with newer version
I'm trying to add a newer version of the
guava bundle (14.0.1) to my project. So I took a tycho demos from git repository and try to make it works without success. The
com.google.guava 10.0.1 is still there.
Parent POM:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<prerequisites>
<maven>3.0</maven>
</prerequisites>
<groupId>tycho.demo.itp02</groupId>
<artifactId>itp02-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho-version>0.17.0</tycho-version>
</properties>
<modules>
<module>tycho.demo.itp02.bundle</module>
<module>tycho.demo.itp02.bundle.tests</module>
</modules>
<dependencies>
<dependency>
<groupId>tycho.demo.itp02</groupId>
<artifactId>pomfirst-bundle</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>tycho.demo.itp02</groupId>
<artifactId>pomfirst-thirdparty</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>14.0.1</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>helios</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/helios</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<pomDependencies>consider</pomDependencies>
<filters>
<filter>
<type>eclipse-plugin</type>
<id>com.google.guava</id>
<removeAll />
</filter>
</filters>
</configuration>
</plugin>
</plugins>
</build>
</project>
Child MANIFEST:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: bundle Plug-in
Bundle-SymbolicName: tycho.demo.itp02.bundle.tests
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.junit4;bundle-version="4.0.0",
org.eclipse.core.runtime,
com.fasterxml.jackson.core.jackson-core,
com.google.guava
Import-Package: tycho.demo.itp02.bundle
The other demo are unchanged. Am I doing something wrong with
filter?