- 1 New and Noteworthy
- 1.1 Pomless Build
- 1.2 FreeBSD support
- 1.3 Thread stack traces dump before forkedProcessTimeoutInSeconds timeout occurs
- 1.4 A Mojo to list dependencies
- 1.5 ECJ update
- 1.6 JGit update
- 1.7 Equinox update
- 1.8 Support for maven.compiler.failOnWarning
- 1.9 Support for surefire enableAssertions
- 1.10 Update plexus container used
- 1.11 Support for Eclipse-PlatformFilter
New and Noteworthy
Complete list of bug fixes and enhancements in 1.5.0
The pomless build has been improved to support some new features and improve existing ones:
bug 490886 - support for pomless update site builds
bug 482487 - support for pomless product builds
bug 550285 - support for pomless target-definition builds:
- If the target definition file contains a name attribute it will become the
artifactId of the artifact otherwise the name of the .target file (with .target suffix) is used.
bug 507700 - support .test as a suffix for plugins and make it configurable, you can now alternatively specify a property tycho.pomless.testbundle=true/false in build.properties file to override the default behavior.
bug 478704 - support for alternative parent-pom file locations: - It is possible to define a system-property tycho.pomless.parent (defaults to "..") that configures the global default for searching parent poms (similar to tycho.localArtifacts this can't be configured in pom directly because of the early phase this is required) - It is also possible to define tycho.pomless.parent inside build.properties of individual bundle/fragment that overrides the global default for only this module
bug 492819 - support for structured builds: It is now possible to use pomless for so called "structured-builds" that means the folders are not just a flat representation of all projects but are structured by their type (e.g. bundles, test, feature), you can find an example here so it is possible to have just one pom.xml in the root of you project structure. You can find a pull-request here that shows what changes could be made to leverage this feature compared to a project using Tycho 1.4 pomless extension to reduce the required poms.
bug 549689 adds support for FreeBSD platform in RCP product definitions.
Thread stack traces dump before forkedProcessTimeoutInSeconds timeout occurs
The parameter forkedProcessTimeoutInSeconds can be specified to kill the process which runs tests (also prior to Tycho 1.5.0). With the change for bug 542876, a few minutes before the process is killed due to this timeout, thread stack traces are dumped in the test log. I.e. when a timeout occurs (e.g. due to a deadlock) the logs would now contain some indication of which code causes the timeout.
A Mojo to list dependencies
bug 547269 introduces a new org.eclipse.tycho.extras:tycho-dependency-tools-plugin:list-dependencies mojo that can list the bundles resulting of dependency resolution for Tycho projects.
This differs from dependency:list in that the later one lists the classpath which may include nested jars instead of required bundle.
The default output file is target/dependenct-list.txt, lists of absolute paths to required bundles and is suitable to use with the org.eclipse.pde.api.tools.apiAnalysis application.
ECJ has been updated to version 3.19.0. This version adds support for Java 12 bytecode and features.
JGit has been updated to version 5.5.0. Full release notes here.
Equinox and p2 has been updated to their 2019-09 versions.
Support for maven.compiler.failOnWarning
bug 547470 introduces support for maven.compiler.failOnWarning user property to tycho-compiler-plugin with same behavior as maven-compiler-plugin.
Support for surefire enableAssertions
bug 526008 introduces support for enableAssertions user property to tycho-surefire. Default value for it is false while maven-surefire has it as true.
Update plexus container used
bug 551292 updated Maven to use org.eclipse.sisu.plexus as it's plexus container instead of plexus-container-default. NOTE: TYCHO MIN MAVEN REQUIREMENT HAS BEEN BUMPED TO VERSION 3.1.0.
Support for Eclipse-PlatformFilter
bug 487341 multi-environment build fails using platform filters is now fixed and allows the filtering of a bundle for a particular environment