Skip to main content
Jump to: navigation, search

Tycho/Release Notes/0.22

< Tycho‎ | Release Notes
Revision as of 09:17, 21 November 2014 by (Talk | contribs) (Target Platform & Dependency Resolution: 411664 document targetDefinitionIncludeSource)

< Previous Version | Next Version >

Tycho 0.22.0 is currently under development. This page shows a preview of features which will be available in the 0.22.0 milestone.


To try out the most recent snapshot build of 0.22.0, simply add the following snippet to your (parent) pom.xml, and set the property for the Tycho version (e.g. tycho-version) to 0.22.0-SNAPSHOT.


SNAPSHOT site docs

Refer to the latest SNAPSHOT site docs for Tycho and Tycho Extras.

New and Noteworthy

Complete list of bug fixes and enhancements in 0.22.0


  • You can now reuse project JDT compiler preferences .settings/org.eclipse.jdt.core.prefs by globally configuring

    e.g. in your parent pom. This will warn but not fail if the preference file is not present. (bug 404633)

Target Platform & Dependency Resolution

  • (INCOMPATIBLE CHANGE) In case you specify multiple execution environment profiles in the Bundle-RequiredExecutionEnvironment manifest header, the profile used for the build may have changed. Tycho no longer attempts to find the "minimal" profile from the ones specified, but now uses the one specified first (bug 435313). See Execution Environments for details on the execution environment configuration and effects in the build.
  • Tycho now supports building bundles for the execution environments JavaSE/compact1-1.8, JavaSE/compact2-1.8, and JavaSE/compact3-1.8.
  • Tycho can now be configured to ignore the configured execution environment of the current bundle when resolving its dependencies (bug 435068) . If you set the target-platform-configuration option resolveWithExecutionEnvironmentConstraints to false, Tycho will use a combination of all known execution environments (providing the superset of all system packages) to resolve the bundle's dependencies.
  • Tycho can now take the includeSource attribute in target definitions into account. This needs to be enabled through a target-platform-configuration option:

    Note that this new option is of limited use for including sources into a p2 repository:

    • If you want to include source bundles from the (external) target platform, you typically would add a complete source or SDK feature from the target platform. includeSource does not automatically include source features, so you would need to explicitly specify them in the target file anyway.
    • If you only want to include source bundles for bundles from your reactor, you don't need this option.

    The only case in which the new option may make sense if you are building a feature with source feature which directly includes a bundle from the (external) target platform.


  • Resources copying and filtering:

Test Execution

  • Tycho Surefire was updated to use Maven Surefire version 2.17. This enabled us to consume the fix for long-standing (bug 369266)
  • Tycho Surefire can now be configured to use the JDK specified in the test bundle's Bundle-RequiredExecutionEnvironment to execute tests (as opposed to the currently running JDK) (bug 407500). See the site docs for details.


  • The embedded OSGi runtime used by Tycho during build has been updated to use Equinox and p2 from the Mars M3 milestone (bug 444112)

Back to the top