Tycho 0.23.0 is staged for release. To try it out, add the following snippet to your (parent) pom.xml or settings.xml, and set the property for the Tycho version (e.g. tycho-version) to 0.23.0.
<pluginRepositories> <pluginRepository> <id>tycho-staged</id> <url>https://oss.sonatype.org/content/repositories/orgeclipsetycho-1021/</url> </pluginRepository> </pluginRepositories>
New and Noteworthy
- The JDT compiler shipped with Tycho has been updated to Mars RC2a (
- The default source/target level (i.e. no BREE in MANIFEST.MF nor source/target configured in pom.xml) has been updated to 1.7 (
- A new packaging type called p2-installable-unit has been added to give more flexibility to users creating custom IUs. See Tycho/Packaging_Types#p2-installable-unit for details(
- You can now use <iu> elements in an eclipse-repository's category.xml to include and/or categorize arbitrary artifacts in a p2 repository (
bug 371983). See Tycho/category.xml for details.
- By default, Tycho will no longer add META-INF/maven/ descriptors in feature jars. With feature jars always being unpacked during installation, these can lead to path length problems on Windows (
- The embedded p2 version has been updated to Mars RC2a. Noteworthy p2 changes:
- (INCOMPATIBLE CHANGE) Due to a change in p2 publishers, MacOS products can no longer be built using p2 repositories older than eclipse Mars. Make sure you use Mars and configure a product installation root folder ending with ".app" (see Tycho demo project. If you build a MacOS product and can't update to Mars (yet), you will probably have to skip this Tycho release. We intend to add a compatibility workaround in the next release of Tycho (bug 463670)
- Support for xz-compressed p2 metadata files (
- Tycho will now set a specific HTTP User-Agent header including the Tycho version used when accessing p2 repositories (
bug 467418). This can be used to analyze HTTP access logs of the servers delivering the p2 artifacts.
- (INCOMPATIBLE CHANGE) The tycho-surefire property testSuite had been removed. If you are building a multi-bundle project and had set the testSuite and testClass property on the CLI or in a parent pom, you have to set the property failIfNoTests to false. If you had specified testSuite and testClass in the pom file of the plugin the testsClass belongs to, you just have to remove the testSuite property (
- Tycho now requires Java 7 (
bug 463433). Note that this does not affect the compiler source/target level configured in your build and you can still compile against any JDK using maven toolchains.
- The embedded OSGi runtime used by Tycho during build has been updated to use Equinox from Mars RC2a (
- The validation of the version qualifier in the pom is more strict. The build fails with an appropriate error message if the OSGi qualifier "qualifier" is used instead of "SNAPSHOT" (
bug 464887) and after applying the format (<format> property) respectively the forced qualifier value (<forcedQualifier> property) there is a check if it is a valid OSGi qualifier ( bug 464649).
- The tycho-document-bundle-plugin now allows to specify includes and excludes for the packages to be documented (
- It is now possible to use a custom doclet in the tycho-document-bundle-plugin (
bug 453602). The doclet parameter will be passed to javadoc as -doclet. The docletArtifacts are resolved (including the transitive depenencies) and passed to javadoc as -docletpath. Example configuration:
<configuration> <javadocOptions> <ignoreError>false</ignoreError> <doclet>foo.bar.MyDoclet</doclet> <docletArtifacts> <docletArtifact> <groupId>foo.bar</groupId> <artifactId>foo.bar.mydocletartifact</artifactId> <version>1.0</version> </docletArtifact> </docletArtifacts> </javadocOptions> </configuration>