Jump to: navigation, search

Tycho/Release Notes/0.12

Tycho 0.12.0 is the first (milestone) release under the org.eclipse.tycho namespace. It is functionally equivalent to the 0.11.1 release, which means that you should get identical results before and after a successful migration from 0.11.1 to 0.12.0.

Migration guide

To migrate to this version, you need to do the following changes in your projects' POM files:

  1. Change the groupId of all Tycho plugins from org.sonatype.tycho to the new groupId org.eclipse.tycho
  2. Change the version of all Tycho plugins to 0.12.0. (It is recommended to use a property for the Tycho version; see for example Tycho/Reference_Card )
  3. In case you have configured one following Tycho plugins explicitly, you need to replace the artifactId
maven-osgi-test-plugin        =>   tycho-surefire-plugin
maven-osgi-source-plugin      =>   tycho-source-plugin
maven-osgi-compiler-plugin    =>   tycho-compiler-plugin
maven-osgi-packaging-plugin   =>   tycho-packaging-plugin
maven-tycho-plugin            =>   tycho-pomgenerator-plugin

FAQ: I have a project with hundreds of plugins, can't I automate this ?

Yes, you can - https://gist.github.com/984585 contains a script that JBoss Tools team used to do their migration. No Warranty :)

FAQ: My tests fail after migrating to 0.12.0

You need to double-check that you actually configure the right plugin: The artifactId of the 0.12.0 plugin for executing tests is tycho-surefire-plugin and not tycho-test-plugin.

Background: With the configuration below, you only tell Maven to use the given configuration when the plugin is executed, you don't tell it that it should be executed. (The tycho-surefire-plugin is executed in all eclipse-test-plugin projects because it is part of the default lifecycle of that packaging type.) Therefore, configuring a tycho-test-plugin has no effect. Unfortunately, Maven doesn't detect configuration of non-existing plugins.

<plugin>
   <groupId>org.eclipse.tycho</groupId>
   <artifactId>tycho-surefire-plugin</artifactId>
   <version>${tycho-version}</version>
   <configuration>
      <!-- Example: configuration for UI tests -->
      <useUIHarness>true</useUIHarness> 
   </configuration>
</plugin>