Tycho/Release Notes/0.13

The most visible change in Tycho 0.13.0 is the reworked target platform concept:

For p2 repositories specified in the POM as repositories with layout=p2, the entire content of the p2 repository is added to the target platform. (This is effectively the same behaviour as before, but the concept of an "implicit target platform" no longer exists.)

For target definition files, only the resolved content of the target definition is added to the target platform (see the "Content" tab of the corresponding editor in Eclipse). This may lead to dependency resolution problems during the migration, but these problems can be solved by adding the missing features or bundles in your target definition file.

In the Tycho implementation, the new behaviour is achieved through a separation of target platform computation and dependency resolution. This allows for strict control over the target platform, when a target definition file with includeMode="planner" is used (see also below).

New and Noteworthy

Tycho projects are now required to match the artifactId defined in the pom.xml with the ID specified in the MANIFEST.MF or feature.xml.

This restriction is in place for projects with packaging type "eclipse-plugin", "eclipse-test-plugin" or "eclipse-feature". It solves several problems which may occur otherwise (see [1]).

In case your project provides a bundle and a feature with the same ID, and you need to keep these IDs for compatibility reasons, you can use different groupIds in order to make the Maven coordinates (groupId, artifactId, version) unique.

Limitation: the location types "Directory", "Installation" and "Features" are still not supported.

The OSGi runtimes for tests no longer contains the full target platform but only the (transitive) dependencies of the test bundle. This may lead to test failures due to missing implicit dependencies. Recommendation: Make the dependencies explicit in the component feature and add it to the test runtime.