Gradle Release Notes

Version 1.0-milestone-3

  1. New and Noteworthy
  2. Migrating from 1.0-milestone-2
  3. Fixed Jira Issues

New and Noteworthy

Easier Ivy repositories.

It is now much easier to define an Ivy repository. Here's an example:

Defining an Ivy repository

repositories {
    ivy {
        name = 'libs'
        userName = 'some-user'
        password = 'some-password'
        artifactPattern 'http://myrepo.com/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]'
    }
}

Compare this with how you used to define an Ivy repository:

The old way

repositories {
    org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials('Some Realm', 'myrepo.com', 'some-user', 'some-password')
    add(new org.apache.ivy.plugins.resolver.URLResolver()) {
        name = 'libs'
        addArtifactPattern('http://myrepo.com/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]')
    }
}

Under the covers, Gradle will choose the appropriate repository implementation based on the URL patterns you have supplied. In particular, Gradle now works better for HTTP and HTTPS repositories:

Minor DSL Improvements

There is now an easier way to query for all the source directories of a source set. The allSource, allJava, allGroovy and allScala properties now have a srcDirs property. Here's an example:

sourceSets.main.allSource.srcDirs.each { dir -> println "src dir: $dir" }

Previously, you has to manually merge the source directories from the java, resources, groovy and scala source.

Tooling API

A new API is available to make it easier to integrate Gradle with tools such as IDEs, CI servers and other tools. The goal of this API is to provide a way to execute Gradle builds, and to query information about them, in a way that is independent of Gradle version. If you maintain some integration with Gradle, you should consider switching to use the tooling API.

Migrating from 1.0-milestone-2

Gradle 1.0-milestone-3 Breaking Changes

Fixed Jira Issues

Jirra Issues
Type Key Summary Assignee Reporter Priority Status Resolved Created Uploaded Due
GRADLE-1492 tooling api should use wrapper properties to determine gradle version to use Adam Murdoch Adam Murdoch Resolved Fixed 24/Apr/11 04/Jan/13
GRADLE-1490 Method getGradleHomeDir() in Gradle.java shouldn't be deprecated Unassigned Benjamin Muschko Resolved Fixed 21/Apr/11 04/Jan/13
GRADLE-1486 Eclipse's targetCompatibility and sourceCompatibility should be assignable by simple types Szczepan Faber Szczepan Faber Resolved Fixed 19/Apr/11 04/Jan/13
GRADLE-1482 links customization for eclipse plugin does not work Szczepan Faber Szczepan Faber Resolved Fixed 17/Apr/11 04/Jan/13
GRADLE-1473 Maven and Application plugins conflict on the "install" task Peter Niederwieser Brian Trezise Resolved Fixed 13/Apr/11 04/Jan/13
GRADLE-1471 Test execution fails when using Junit version between 4.0 and 4.5 Adam Murdoch Adam Murdoch Resolved Fixed 12/Apr/11 04/Jan/13
GRADLE-1469 incorrect behavior of idea plugin after upgrade to milestone-2 Szczepan Faber Szczepan Faber Resolved Fixed 12/Apr/11 04/Jan/13
GRADLE-1468 Samples in the dsl guide should have more readable format (indentation) Szczepan Faber Szczepan Faber Resolved Fixed 11/Apr/11 04/Jan/13
GRADLE-1467 sonar task fails with java.lang.IncompatibleClassChangeError Peter Niederwieser David Resnick Resolved Fixed 10/Apr/11 04/Jan/13
GRADLE-1421 Tooling API: should provide a fast skeletal project model Adam Murdoch Kris De Volder Resolved Fixed 04/Mar/11 04/Jan/13
GRADLE-1417 Tooling API should provide progress information for long running operations Adam Murdoch Adam Murdoch Resolved Fixed 04/Mar/11 04/Jan/13
GRADLE-1416 IDEA Plugin doesn't honor excluded dependencies Peter Niederwieser Andreas Sahlbach Resolved Fixed 03/Mar/11 04/Jan/13
GRADLE-1340 Tooling API should provide some way to execute a build Adam Murdoch Adam Murdoch Resolved Fixed 23/Jan/11 04/Jan/13
GRADLE-1338 Tooling api should use the daemon to build the project model Adam Murdoch Adam Murdoch Resolved Fixed 23/Jan/11 04/Jan/13
GRADLE-1092 Eclipse classpath generation ignores excludes in 0.9-rc1 Peter Niederwieser Bryan Keller Resolved Fixed 05/Aug/10 04/Jan/13
GRADLE-610 Make it easier to add a URL repository Adam Murdoch Adam Murdoch Resolved Fixed 29/Aug/09 04/Jan/13
GRADLE-480 Improve launching gradle for tool purposes Unassigned Mike Resolved Fixed 14/May/09 04/Jan/13
GRADLE-211 Allow shortcut notation for adressing convention properties of a plugin Unassigned Hans Dockter Resolved Fixed 10/Sep/08 04/Jan/13

1.0-milestone-3 Breaking Changes

Have a look at Gradle 1.0-milestone-3 Release Notes for more information about the new features in this release

  1. Application plugin
  2. GradleLauncher deprecated
  3. Open API deprecated
  4. Package and class name changes

Application plugin

GradleLauncher deprecated

The GradleLauncher API has been deprecated. This class has been replaced by the tooling API for launching builds, and will be removed in the very near future.

See ProjectConnection for details, and the samples in $gradleHome/samples/toolingApi.

Open API deprecated

The open API has been deprecated. This includes usages of org.gradle.openapi.external.ui.UIFactory and org.gradle.openapi.external.runner.GradleRunnerFactory. This API has been replaced by the tooling API for launching and querying builds, and will be removed in a future release of Gradle.

See ProjectConnection for details, and the samples in $gradleHome/samples/toolingApi.

Package and class name changes