Tycho/Release Notes/0.13

From Eclipsepedia

< Tycho‎ | Release Notes
Revision as of 07:18, 23 August 2012 by Tobias.oberlies.sap.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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).

Additionally, Tycho 0.13.0 fixes a long list of bugs: List of bug fixes and enhancements in 0.13.0

New and Noteworthy

  • Tycho:
    • 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.
    • Configuring a target definition file in Tycho specifies the target platform in the same way as in Eclipse:
      • Only the content from the target definition can be referenced. This allows excluding optional depencencies from product builds [2].
      • The "Include required software" option (aka planner/slicer mode) is now supported.
      • 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.
    • Optional dependencies declared by your bundles are no longer installed automatically when a user installs your bundle with p2. Consider creating additional features for including optional dependencies (see Equinox p2 Publisher).
    • tycho-surefire-plugin can use Maven Toolchains to run tests with a specific version of JDK independent from the one Maven is running with (see Tycho Reference Card).
  • Tycho extras:
    • The new goal mirror has been added to the tycho-p2-extras-plugin. It offers the same functionality as the p2.mirror Ant task – see Tycho/Additional Tools for the full documentation.