Hi,
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/
roadmap.html
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
14.4.
- 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
feedback.
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.
Cheers,
- Hans
--
Hans Dockter
Gradle Project lead
http://www.gradle.org
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
war.
* [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
finished.
* [GRADLE-170] - Allow n:n mapping between tasks and configurations
* [GRADLE-172] - Create a distinct JDK 1.4 compatible Gradle
distribution
* [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:
http://xircles.codehaus.org/manage_email