[ANN] Gradle 0.3 is released

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[ANN] Gradle 0.3 is released


we are pleased to announce the release of Gradle 0.3. The focus of  
this release has turned out to be completely different to what we  
planned it to be. Mainly due to performance reasons we have  
refactored large parts of the core from Groovy to Java, which was a  
major effort. We have update our roadmap: See http://gradle.org/ 

Here a summary of the most interesting new features and improvements.

- Gradle provides now a separate JDK 1.4. compatible distributions.
- We have improved the handling and naming conventions for archive  
tasks. See UG 9.7.3.
- The War plugin is now much more flexible regarding library  
handling. Gradle provides now a provided configuration to add  
libraries that should be used for compile and testing, but should not  
be bundled with the war. See UG 11.
- After going through a lot of pain with the windows start scripts we  
have decided to get rid of them and replace them with exe commands  
generated by launch4j. Thanks to Adam Pohorecki for contributing the  
foundations for this.
- To improve the responsiveness of Gradle the compiled build and  
settings files are now cached. For how to control the cache, see UG 4.6.
- Every task action has now access to the graph of the tasks to be  
executed. See UG 2.10.
- The wrapper task is now much more configurable regarding where the  
involved files are stored. See UG 16.
- We have started to implement a listener framework around the Gradle  
lifecycle. You can now register for example an afterEvaluateListener  
with a project which gets called after a project's build script is  
evaluated. For an example see UG 14.2.3.
- The Test task generates now JUnit HTML reports.
- Gradle enables now to execute tasks via their absolute path. See UG  
- You can now define default tasks. See UG 2.9.
- You can define now global exclude for dependencies. See UG 12.2.6.
- Due to Groovydoc problems, we were not able to provided reasonable  
API doc in the past. This has changed now. For a big part of our  
public API we provide now Javadoc. With the release of 0.4 we will be  
able to provide this for all our API.

We are very excited that Adam Murdoch has become a Gradle committer.

Thanks to Marko Bauhardt, Peter Kriens, Jerod Lass and Jaco for there  

Thanks to Phil Messenger and Peter Kriens for there contributions  
regarding eclipse file generation. Hopefully we will be able to bake  
this into 0.4.


- Hans

Hans Dockter
Gradle Project lead

Release Notes - Gradle - Version 0.3

** Sub-task
     * [GRADLE-166] - Add junit reporting

** Bug
     * [GRADLE-64] - Windows Start script returns 0 also in the case  
of an error
     * [GRADLE-124] - gradle.bat reports "No modern compiler."
     * [GRADLE-130] - setting dependsOn in the configure closure of a  
bundle archive method is overwritten by the bundle.
     * [GRADLE-131] - Destination directory should be created by the  
archive task if it does not exists.
     * [GRADLE-132] - Gradle wrapper does not remove old zip when  
upgrading to new version
     * [GRADLE-134] - Can't add depedencies to be used by Gradle's  
default dependencies
     * [GRADLE-136] - Declaring a classpath project dependencies does  
not trigger an evaluate of the depends-on project
     * [GRADLE-137] - Child dependsOn settings of bunldes are not  
properly established.
     * [GRADLE-139] - web.xml from webapp folder is not added to the  
     * [GRADLE-152] - Zip dependencies are not resolved
     * [GRADLE-164] - Artifact dependency unresolved when custom  
destinationDir is used.
     * [GRADLE-167] - npe if tests failed

** Improvement
     * [GRADLE-38] - Refactor for ConventionTasks the mechanisms how  
convention values are used.
     * [GRADLE-117] - Cache the compiled build scripts.
     * [GRADLE-122] - Make the install target of the Gradle build  
work on windows.
     * [GRADLE-125] - dir property of fileset method should be  
optionally of type String
     * [GRADLE-127] - Add Project. hasProperty coverage to userguide.
     * [GRADLE-129] - Provide actions access to dag
     * [GRADLE-135] - Migrate from commons-cli to JOpt simple for  
command line processing.
     * [GRADLE-138] - Add method to add to a webInf/classes/
additionalLib FileSet of a War task.
     * [GRADLE-140] - Offer a possibility to not to bundle certain  
compile and runtime dependencies in a war.
     * [GRADLE-142] - Change the default naming schema for archives.
     * [GRADLE-143] - Introduce a flag that allows a task to declare  
that it does not modify the project tree.
     * [GRADLE-147] - Make the wrapper task configurable to where the  
gradle-wrapper jar and the distribution should be located.
     * [GRADLE-151] - Offer rootDir accessor in settings.gradle
     * [GRADLE-153] - Enable easy setting of jvm opts in the start  
and wrapper scripts.
     * [GRADLE-156] - Add afterEvaluateListener
     * [GRADLE-157] - Make the name of settings.gradle customizable
     * [GRADLE-165] - Allow a fully qualified task path to be  
specified on the command-line
     * [GRADLE-168] - Improve javadoc generation for groovy projects
     * [GRADLE-169] - Remove build resolver dir after the build is  
     * [GRADLE-170] - Allow n:n mapping between tasks and configurations
     * [GRADLE-172] - Create a distinct JDK 1.4 compatible Gradle  
     * [GRADLE-173] - Add excludeConfigurations to War task
     * [GRADLE-176] - A Bundle should offer a propery for its archive  
tasks instead of the archive tasks names
     * [GRADLE-177] - Change the location of the build-resolver dir  
from the top level root-project to the tmp dir of the root-project.

** New Feature
     * [GRADLE-146] - Allow the definition of default tasks
     * [GRADLE-155] - global exclude of transitive deps
     * [GRADLE-161] - Allow to assign multiple lib configurations for  
a war task.

To unsubscribe from this list, please visit: