Jump to: navigation, search

Tycho/Release Notes/0.22

New and Noteworthy

Complete list of bug fixes and enhancements in 0.22.0

Compiler

  • You can now reuse project JDT compiler preferences .settings/org.eclipse.jdt.core.prefs by globally configuring
    <plugin>
      <groupId>org.eclipse.tycho</groupId>
      <artifactId>tycho-compiler-plugin</artifactId>
      <version>${tycho-version}</version>
      <configuration>
        <useProjectSettings>true</useProjectSettings>
      </configuration>
    </plugin>
    

    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:
    <plugin>
       <groupId>org.eclipse.tycho</groupId>
       <artifactId>target-platform-configuration</artifactId>
       <version>${tycho-version}</version>
       <configuration>
          <target>
             <artifact>
                ...
             </artifact>
          </target>
          <targetDefinitionIncludeSource>honor</targetDefinitionIncludeSource>
       </configuration>
    </plugin>
    

    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.

  • In case of p2 dependency resolution errors, Tycho will no longer clutter the console output with exception stacktraces (bug 441538)

Packaging

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

Other

  • In addition to the previously existing properties unqualifiedVersion and buildQualifier, a new property qualifiedVersion was introduced. It contains the concatenation of the first two properties, but without trailing dot in case the buildQualifier is an empty string. (Documentation).
  • The embedded OSGi runtime used by Tycho during build has been updated to use Equinox and p2 from the Mars M3 milestone (bug 444112)