Skip to main content
Jump to: navigation, search

Tycho/Release Notes/1.3


New and Noteworthy

Complete list of bug fixes and enhancements in 1.3.0


Java 11

  • JDT was updated to 3.15.1 (we are now using ecj binaries from maven central as opposed to jdt.core and jdt.compiler.apt) bug 532302 to support compiling against Java 11
  • Note there is still an open bug when running test using Java 11 bug 541403


org.apache.felix.scr

bug 538729

Tycho 1.3.0 surefire plugin supports starting applications that use org.apache.felix.scr bundle in place of org.eclipse.equinox.ds (like Eclipse Platform 4.10 based target-platforms)

download.stats artifact metadata property

bug 539552

Support for download.stats property on artifacts metadata. In order to (partially) enable p2 download stats as documented in Equinox_p2_download_stats, you can now configure you tycho-p2-plugin:p2-metadata generateDownloadStats parameter to add the necessary property on the artifacts:

   <plugin>
     <groupId>org.eclipse.tycho</groupId>
     <artifactId>tycho-p2-plugin</groupId>
     <configuration>
        <generateDownloadStatsProperty>true</generateDownloadStatsProperty>
     </configuration>
   </plugin>


or alternatively, you can override the tycho.generateDownloadStatsProperty property either by CLI with mvn -Dtycho.generateDownloadStatsProperty=true ... or by adding <tycho.generateDownloadStatsProperty>true</tycho.generateDownloadStatsProperty> in the <properties> element of your pom.xml.

This results in this in artifacts.xml (and derived artifacts.jar and artifacts.xml.xz):

  <artifacts size='4'>
    <artifact classifier='osgi.bundle' id='bundle' version='1.0.0.123abc'>
      <properties size='9'>
        <!-- ... -->
        <property name='download.stats' value='bundle/1.0.0.123abc'/>
        <!-- ... -->
      </properties>
    </artifact>
    <artifact classifier='osgi.bundle' id='bundle' version='1.0.0.123abc'>
      <processing size='1'>
        <step id='org.eclipse.equinox.p2.processing.Pack200Unpacker' required='true'/>
      </processing>
      <properties size='12'>
        <!-- ... -->
        <property name='download.stats' value='bundle/1.0.0.123abc'/>
        <!-- ... -->
      </properties>
    </artifact>

Extra artifact repository properties (like p2.statsURI or p2.mirrorsURL)

bug 341744

The tycho-p2-repository-plugin:assemble-repository plugin now accepts a extraArtifactRepositoryProperties parameter to configure addition properties to add to the artifact repository. Typical examples of properties one would like to include that way are p2.mirrorsURL and p2.statsURI

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <packaging>eclipse-repository</packaging>
  <!-- .... -->
  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-repository-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <extraArtifactRepositoryProperties>
            <p2.statsURI>http://some.where</p2.statsURI>
            <p2.mirrorsURL>http://some.where.else</p2.mirrorsURL>
            <foo>bar</foo>
          </extraArtifactRepositoryProperties>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>


adds the properties to the artifact repository, that would then contain

<repository name="Example Repository" type="org.eclipse.equinox.p2.artifact.repository.simpleRepository" version="1">
  <properties size="5">
    <property name="publishPackFilesAsSiblings" value="true"/>
    <property name="p2.mirrorsURL" value="http://some.where.else"/>
    <property name="p2.statsURI" value="http://some.where"/>
    <property name="p2.timestamp" value="1538498332220"/>
    <property name="foo" value="bar"/>
  </properties>
  <!-- .... -->

Configure trimStackTrace in Tycho Surefire

bug 535881

Maven Surefire aggressively trims stack traces in test case failure reports, which can lead to confusion where an error/exception actually happened. To avoid that Tycho Surefire now allows configuring the trimStackTrace property as in Maven Surefire.

New Surefire Version

bug 537419

The Maven Surefire plugins had been updated to v2.22.0 and are now using the Surefire JUnit 5 Platform Provider (prior Tycho used the JUnit 5 Platform Provider from the JUnit Team). So the provider specific properties (e.g. "excludeTag") might not work anymore. E.g:

        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
         <providerProperties>
           <excludeTags>slow</excludeTags>
         </providerProperties>
        </configuration>

is now:

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-surefire-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <excludedGroups>slow</excludedGroups>
        </configuration>
      </plugin>

Back to the top