Modified to use a simpler approach for configuration, based on the
'propertyMissing' facility of Groovy (see
http://groovy.codehaus.org/Using+methodMissing+and+propertyMissing, and
abstract ConfigurableArguments class); for example, '$eclipse.home' can
be used instead of '${config['eclipse.home']}'
Added 'list()', 'installUnits()' and 'uninstallUnits()' operations
('installUnits'/'uninstallUnits' operate on all units not enclosed by an
'install'/'uninstall' operation); modified command line parsing to take
-s/-m options (using Groovy CliBuilder); config is now merged in
addition to other arguments when using 'include(..)'
Introduced named repositories (avoids repeated entry of urls);
simplified DirectorArguments and InstallArguments by removing factory
methods (clients use public constructors instead); properties of
@Immutable classes are now read-only (using final) to prevent exposing
setter methods; DirectorArguments and InstallArguments both delegate to
new RepositoryDelegate class to remove duplicate code
(RepositoryDelegate uses new Repository class); RepositoryDelegate and
Repository use properties instead of fields where appropriate, in
combination with @TupleConstructor; renamed InstallableUnitArguments to
InstallableUnit
Added basic support for named repositories in nested closures (work in
progress, not yet complete),
and some additional tests
Modified approach used for named repositories in combination with nested
closures, with additional tests (Repository class now has 'name'
property, only those repositories without installable units are provided
to InstallArguments, and the same for DirectorArguments to support named
repositories from any included args); also simplified @ToString for
Repository; removed @TupleConstructor from RepositoryDelegate
Removed named params for repositoryNamed(..) from Eclipse dsld (won't
work unless first method param is a Map); changed the param name for
EclipseArguments.include(..) and
InstallableUnitsFromArgumentsHandler.unitsFrom(..) to make clear that
the args are assumed to be EclipseArguments (rather than
DirectorArguments or InstallArguments etc); renamed list() to
listUnits() in DirectorArguments for consistency with installUnits() and
uninstallUnits()
Changed type of destination field in DirectorArguments from String to
File (similar to eclipsec field in EclipseArguments); also changed
eclipsec default value to 'eclipse';
Convert all project files to unix line endings
Correct file mode for additional groovy script
Fixed a bug relating to an incorrect hard-coded value for the default
value
of the 
'eclipsec' field in EclipseArguments.merge(..); also added a supporting
test
Ignore null values for toString()
Updated example scripts following significant changes to DSL
Support unitsFrom(..) in DirectorArguments
EclipseArguments.asCommand now returns List instead of String, to avoid
'java.lang.IllegalArgumentException: Executable name has embedded quote,
split the arguments' (this exception is the result of 'Changes to
Runtime.exec' in Java 7 update 21:
http://www.oracle.com/technetwork/java/javase/7u21-relnotes-1932873.html#jruntime);
also simplified implementation of operations using collect(..) and
join(..)
Command output formatting
Ability to specify multiple arg files/scripts on the command line (these
args will be merged)
Renamed static method to avoid ambiguity
Removed use of generic types
A mostly complete readme (needs a working download link for the binary
distribution)
Reduced size of the binary distribution by switching from groovy-all
(includes modules) to groovy (just the core)