Tycho/Release Notes/0.12

From Eclipsepedia

Jump to: navigation, search

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>