List of bug fixes and enhancements in 0.14.x
List of bug fixes in 0.14.1
New and Noteworthy
- Support for license features has been added
- Support for generation of source features has been added
- Full support for bundle runtime execution environments
- List of accessible system packages of bundle runtime execution environment is now respected during project dependency resolution and java compilation. This makes sure that bundles do not accidentally reference JRE classes that may not be available in all runtime environments supported by the bundles.
- If bundle project supports multiple runtime execution environments, Tycho will use the list of packages from the most restricted environment by default. Build target execution environment can be specified explicitly using new <executionEnvironment> target platform configuration parameter. For backwards compatibility with PDE, jre.compilation.profile build.properties property is supported too.
- Additionally, tycho-compiler-plugin can be configured to use different JDK libraries for different bundle runtime execution environment. Additional JDKs are configured using Maven toolchains.xml, where toolchain id element is matched to execution environment profile name. For example
- Filters on the target platform allow for Maven-style dependency management: You can now easily restrict the versions of individual bundles in your target platform or even pick one specific provider for an exported package. Additionally, you can completely exclude all versions of a bundle from the target platform and in that way, for example, prevent the installation of optional dependencies in a product.
- New tycho-versions-plugin:update-pom goal can be used to update versions in pom.xml files.
- Last but not least, we finally got around to generate and publish the maven plugin docs for Tycho. Clearly there is still a lot of work to do here but it's a start.
Improvements and Fixes
- A serious regression introduced with tycho 0.14.0 (incomplete p2 metadata) has been fixed with tycho 0.14.1
- Optional bundle dependencies are fully supported during compilation now. By default, Tycho treats optional dependencies as required, if this is not what you want, the following configuration can be used to make Tycho ignore optional dependencies
- Tycho index files in the local maven repository and tycho in general should now be multi-process safe -- at least this is what our concurrent integration test suite is telling us.
No more cryptic error messages when two concurrent build jobs modify the same local repository index file. Note that maven 3.0.x local repo access is still not multi-process safe.
- In maven offline mode, tycho should now be really offline
- tycho-surefire-plugin was ported from surefire 2.4.3 to 2.10 and now respects the surefire -DskipTests switch
- .tar.gz has been added as a product archive format which can be built with packaging type eclipse-repository
- p2.inf is fully supported for all Tycho project types now.
- More configuration options to control dependency resolution (TODO document me).
- Missing entries in build.properties for bin.includes and src.includes will now fail the build by default. You can change these from error to warning for ease of migration