Skip to end of metadata
Go to start of metadata

Build Script Changes

Groovy 1.6.3

Build scripts and plugins are now executed using Groovy 1.6.3. While most build scripts should be fine with this change, this does have the potential to break some existing builds.

Java plugin task dependency changes

The Java plugin inter-task dependencies have changed. See UG 16.1.

There is also no init task any longer for the Java plugin. Use:

to do stuff that should be done before any task gets executed.

Eclipse plugin split out of Java plugin

The eclipse tasks have been split out of the Java plugin and into a new 'eclipse' plugin.

Unmanaged classpath merged into compilation configurations

The unmanaged classpath from the compile and compileTests tasks have been merged into the compile and testCompile configurations respectively. These are also inherited by the runtime and testRuntime configurations.

0.6

0.7

Compile task

  • unmanagedClasspath and configuration properties have been merged into the classpath property.

Test task

  • unmanagedClasspath property has been merged into the configuration property.

Copy task

The API of the Copy task has changed.

ClassLoader changes

Each project now has its own ClassLoader, with its parent set to the ClassLoader of the parent project. The root ClassLoader also includes the runtime from the buildSrc project, if any. These changes should not be a problem for most builds.

Settings Script Changes

It is no longer possible to specify the build classpath in the settings file. This has been moved into the build script itself.

API Changes

Project

  • Project.getBuildFileClassName() has been removed.

Task

  • Task.defineProperty() has been renamed to setProperty().

Configuration

  • Configuration.getProjectDescriptors() as been replaced by getDescriptors(Class<T> type)
  • Configuration.getAllProjectDescriptors() as been replaced by getAllDescriptors(Class<T> type)

Dependency

The Dependency hierarchy has been reorganised.

Plugin

The Plugin interface has changed from

to

Most plugins just use the project argument and therefore simply to need to change the signature to work again.

Labels: