Gradle 1.0-milestone-9 Release Notes

Skip to end of metadata
Go to start of metadata

New and Noteworthy

Daemon no longer experimental

The Gradle Daemon is no longer considered experimental and is considered stable. See the user guide chapter on the Gradle Daemon for more information.

Extra Properties

The new “Extra Properties” mechanism replaces “Dynamic Properties”. See the relevant section of the migration guide for more information.

Many deprecated API items removed

We've shed some weight as we prepare for 1.0 final by removing some long deprecated items. The full list is in the migration guide.

Java compiler integration

The (Java) Compile task now uses Gradle's own compiler integration by default, rather than using the Ant javac task. In many cases, this already speeds up compilation today, and it will allow us to do further improvements in the future. When run in fork mode (compile.options.fork = true), Gradle's compiler configuration won't fork a new JVM for each compile task, but will try to reuse the same JVM as much as possible. This can result in a significant speedup (in particular for builds with many smaller projects) while still giving you all the advantages of forking (like advanced compiler configuration options). For the time being, you can still get back the Ant javac integration with compile.options.useAnt = true.

Copy and archive tasks preserve file permissions on UNIX

Improvements to DSL

You can now pass Task outputs to the from method of copy or archive tasks. This adds an implicit dependency to the output producing task.

As a default, the evaluation of child projects depends on the evaluation of its parent projects. Changing this default behavior has been simplified:

1.0-milestone-8 1.0-milestone-9

Improved C++ support

It is now easier to work with executables that use shared libraries. The C++ plugins now add an installMain task, which creates a local development installation of the executable, that also includes the shared libraries that the executable requires at runtime. You can run the executable directly out of the installation, without needing to install shared libraries or to mess with platform-specific environment variables.

  • Mac OS X support, G++ and XCode.
  • Windows support, with Visual C++ and MinGW.

Non-daemon builds honour build environment properties

In previous versions, only builds executed with the Gradle daemon would honour the org.gradle.java.home and org.gradle.jvmargs properties. These properties are now honoured by non-daemon builds as well. In order to do this, Gradle needs to fork a new JVM if the launched build process does not satisfy these requirements.

In order to avoid the performance impact of Gradle launching a second JVM for every build execution, you can:

  • Avoid setting the org.gradle.java.home and org.gradle.jvmargs in a gradle.properties file for your build
  • Run the build with the daemon enabled (set org.gradle.daemon=true in a gradle.properties file, or run with --daemon)

Migration

See Gradle 1.0-milestone-9 Migration Guide

Fixed Jira Issues

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.