1.3.0 (rr9298)
-------------

Change the way Groovy installs so that it doesn't install into the Groovy installation, but into its own
hierarchy.  There are two distributions:

            1.  Requires a separate Groovy installation.  Currently there are two version:
                a.  Compiled against Groovy 1.5.6
                b.  Compiled against Groovy 1.6-beta-1

            2.  Self-contained, includes all dependent jars.

Various tests amended to work correctly on Windows. Tests previously only checked on Ubuntu, Mac OS X and Solaris.

Created a Gant log.

Created Windows batch files that work.  Posix shell scripts only worked previously.

1.2.0 ( r9173 )
---------------

Introduce the GantBinding class to ensure various things that are needed for Gant to work and to allow more
efficient cloning for multi-threading builds.

Remove the inserting of the class name for target set classes into the binding.

Make the symbols added to the binding by the tools lowercase rather than upper case.  cf. GANT-29.

The Maven target set used to provide access to properties via the symbol Maven, this is changed to
maven.  This change is to make things consistent with the above change of case of tool symbols. All uses of
Maven as a reference from the binding must be replaced by maven.

Add in checks for duplicate symbols in the binding.

Change --cachedir option to short form -C so that -d can be used for --debug.

Updated Maven Ant Tasks to 2.0.9.

Added the ability to specify remote repositories in the Maven Target set.

Move to Java 1.5 for the Gant source: introduce generics and remove casts wherever sensible.

Ensure numeric return values from targets are promulgated to the exit code for the Gant target processing.

Swap to using negative numbers for error codes generated by Gant itself, leaving positive return codes for
Gant scripts to use.

Rearrange the tests to only depend on the presence of GROOVY_HOME when it is appropriate.  GROOVY_HOME is
not needed for execution only for installation of Gant.


1.1.2 ( r9087 )
---------------

Updated to using Ivy 2.0.0-beta2.

Corrected the bug that the Ivy tool was not operating in the correct namespace.  This removes the spurious
message: "Trying to override old definition of task buildnumber" that used to happen.

Refactored the IncludeTarget and IncludeTool classes to move replicated code into the common superclass
AbstractTool.

Corrected the way that jars are included on the classpath from ~/.gant/lib, ~/.ant/lib and $ANT_HOME/lib.

Updated TestNG from 5.7 to 5.8 in Maven target set. Amended the properties set so that the TestNG version
number and and classifier can be set by the user instead of being only hardwired.  The defaults are still
hardwired in an ugly way though.

Extended the Ivy tool to allow the path to the Ivy jar to be specified using the ** * notation.

Ensured the AntFile and Include tests work on Windows as well as Ubuntu, Solaris, and Mac OS X.

Modified the verbosity level stuff so as to set the verbosity understood by the Ant tasks that get called. 


1.1.1 ( r9027 )
---------------

Added the Ivy and Maven Ant Tasks jars to the binary distribution.

Amend the Maven target set to add explicit specification of the source and test directories.  This applies
the Groovy joint compiler to everything in that directory, i.e. the Maven 2 split of language specific
directories is not applied.

Amended the Execute tool adding multi-threading of the process output streams to avoid blocking due to
overful buffers.  cf. GANT-22.  Altered return type of methods so as to return the return code of the
executed process. cf. GANT-23.

Add a new tool AntFile for reading an Ant XML file and presenting all the targets as targets in a Gant file.

Added a -L|--lib <directory-path> options in the same style as Ant's at the request of Adam DesJardin.
cf. GANT-24.

Added $HOME/.gant/lib as a repository of jar files as well as $HOME/.ant/lib.

Amended the depends processing to deal with lists of mixed Strings and Closures.


1.1.0 ( r8964 )
---------------

Added metadata to the Maven target set.

Updated the Ivy example a bit.  Switched to Ivy 2.0.0-beta-1.

Added a Gant Ant Task.  (For supporting continuous integration systems that insist on using Ant.)
Unfortunately, there is a problem with loading the Groovyc task in an Gant script executed from an Ant
script -- see GANT-19.   The Gant Ant task is written in Java which leads to the build requiring the use of
the joint Groovy compiler.  This means it is not possible to build Gant using Groovy 1.0.

Added creating Cobertura reports via the coberturaTest target in the Gantfile.

Amended some of the error handling, especially target definition.

Added constructors to allow the Gant script to be a parameter.  This allows programs (including the tests)
not to have to use a command line approach to starting Gant.  Many of the tests refactored.

Added extra options in the LaTeX tool execution to avoid any interactive mode of LaTeX.


1.0.2 ( r8867 )
---------------

Fixed bug in parameter types of message Closure in gant.Gant.

Declared this release and eradicated 1.0.1 to avoid any hassles with the above bug.


1.0.1 ( r8861 )
---------------

Amended and extended the Maven target set so that it actually works well enough to be useful.

Change the return codes so as to provide easier discrimination of error cases.

Removed --lib option and replaced with --classpath | -P option.  Takes a path not a single jar.

Added setDefaultTarget function to make setting up the default target easier.  Also the help output for the
target default assumes that the description string is just the name of the default target.

Rearranged the filestore to work better for command line working, Eclipse, and the Maven target set.

Gant now compiles in Eclipse 3.2.2 with Groovy plugin 1.5.0.200712080221. 


1.0.0 ( r8816 )
---------------

Changed the lookup sequence in GantMetaClass adding lookup in the Ant object for a method call as a final
attempt to resolve a name.  This makes Ant. completely optional as requested in GANT-10.

Rearranged the constructors so as to allow for a custom class loader when calling Gant programmatically.

Reverted to -D processing as in 0.3.1 which actually works with Commons CLI 1.0 even though it is a bug.
0.3.2 and 0.3.3 were broken as -D processing did not work at all.

Added the ** * mechanism for creating target set and tool objects using constructor parameters.

Stopped Gant from issuing FileNotFoundException.

Released to coincide with release of Groovy 1.5.0.


0.3.3 ( r8490 )
---------------

Created a new option (-d,--cachedir) to specify a cache directory for the caching system.  This is used by
Grails.  Gant release rushed out for the Grails 1.0 release.

Formally announced deprecation of task, should now use target.


0.3.2 (r8191)
-------------

Fixed problem with -V option.

Started a Maven 2 build capability -- this is work in progress and not complete.

Restructured source to fit better with the Maven 2 directory structure.

Corrected various problems with return values.

Changed the location of the repository to http://svn.codehaus.org/groovy/gant


0.3.1 (r6962)
-------------

Added returning a sensible return code -- 0 for success and 1 for failure.

Added extending of the classpath:
      --lib <path> for individual jars.
      Searching ~/.ant/lib for user collections of jar files.
      Searching ANT_HOME/lib for jar files if ANT_HOME is defined.


0.3.0 (r6320)
-------------

Works with both Groovy 1.0 release and the Groovy 1.1-beta-1 release.

Changed from using `task' to using `target' as the string introducing a target.

Added a Maven project processing tool.

Added a mechanism for accessing the documentation string of a target.

Improved the error reporting.


0.2.4 (r5374)
-------------

Use System.properties.'file.separator' instead of / so things work on Windows.

Added the ability to have multiple -D options so as to be able to define any number of variables/properties
on the command line.

Added specialized Grails build infrastructure.

Implemented local caching of .class files to improve performance when executing scripts. This is an optional
feature (disabled by default) and is enabled using the -c option of gant.

Added the a LaTeX processing tool.


0.2.3 (r4761)
-------------

Updated to use and work with Groovy 1.0 release.


0.2.2 (r4329)
-------------

Licence changed from LGPL to ASL 2.0.

Updated to use and work with Groovy 1.0 RC-1.

Added gant.tool.Execute, works on Linux, Solaris and Mac OS X, not tested on Windows.

Tidied up code and removed redundant bits.

Package structure of the code changed.

Enforced 1.4 class files.

(There appears never to have been a version 0.2.1.)


0.2.0 (r4160)
------------

First release of Gant.


The Epoch (r3965)
-----------------

No release of 0.1.x of Gant ever made.
