and i18n-ed the error and log messages.
* Moved Java -> antlib.java.JavaTask.
* Moved Path and friends -> framework.file package.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271927 13f79535-47bb-0310-9956-ffa450edef68
* Removed Path.isEmpty().
* Changed Path.list() -> listFiles( TaskContext ).
* Extracted FileList interface from Path. This interface has a single
listFile( TaskContext ) method.
* Split PathElement into two FileList implementations, ParsedPathElement and
ArrayFileList. Removed the special handling of nested PathElement
and Path objects from Path.listFiles().
* Added FileList -> String converter.
* Temporarily disabled Argument.setPath() and EnvironmentVariable.setPath().
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271926 13f79535-47bb-0310-9956-ffa450edef68
execution (after which it can be split into AUT):
* ExecuteJava now handles both in-jvm and forked java app execution. Logging
and error reporting are pretty rough.
* Moved most of the guts of <java> into ExecuteJava.
* Copied most of CommandlineJava into ExecuteJava. Haven't changed
CommandlineJava (much) yet.
* Removed the ability to use system properties when executing in-jvm.
* Another attempt at fixing the ant1 descriptor to enable <java> and <path>.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271899 13f79535-47bb-0310-9956-ffa450edef68
little narrower, to make it easier to extract an interface, and get multiple
path implementations happening.
* Replaced usages of Path.append() with Path.addPath(), and removed append().
* Replaced usages of Path.addExisting() with Path.addPath(), and removed
addExisting().
* Replaced Path.size() with Path.isEmpty().
* Added the setX() methods back.
* Replaced usages of Path.toString() with new PathUtil.formatPath() method, and
removed Path.toString(). Probably missed a few usages.
* Replaced FileUtil.translatePath( Path ) with PathUtil.formatPath(), and
removed translatePath().
* Enabled the String -> Path converter again.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271893 13f79535-47bb-0310-9956-ffa450edef68
* Added FileObject.copy().
* Renamed <v-copy> task attributes file -> srcfile, tofile -> destfile, todir -> destdir.
* Moved provider instantiation out of DefaultFileSystemManager, and into
myrmidon-aware VfsManager. Providers are instantiated using the TypeManager.
The list of providers isn't configurable yet.
* Some support for %nn encoded URI (not quite complete).
* Zip file system now handles zip files from any file system, not just local
files. Still read-only at this stage. Uses a truely dodgy and very temporary
replication mechanism.
* Zip file system now handles relative paths in URI (e.g. zip:relpath.zip), that are
resolved against the base dir.
* Fixed bug in resolving names against the root file of a file system.
* Changed behaviour of FileName.resolveName( ".." ) for the root file of
a file system.
* Added more test cases.
* A bucketload of other minor changes.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271803 13f79535-47bb-0310-9956-ffa450edef68
* Added missing stuff back into descriptors.
* Split out aut.jar and ant1.jar from myrmidon-api.jar.
* Reformat with indent of 4 (to make IDEA happy).
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271800 13f79535-47bb-0310-9956-ffa450edef68
* No longer implements Configurable, uses a set() method instead.
* The property value can be included as the text content of
the <property> element.
* Added test-cases.
* Added some alternative executeTarget() methods to
AbstractProjectTest, to expect a particular set of log messages,
or a particular failure.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271567 13f79535-47bb-0310-9956-ffa450edef68
* Moved read-only property and resolve methods from TaskContext to new Context
interface. TaskContext now extends the new Context interface.
* Changed the Configurer methods to use the new Context. Both implementations
use the supplied Context to do property resolution.
* Renamed TaskContext.getPropertys() -> getProperties().
* Moved PropertyUtil from configurer to workspace package, as that is now
the only place it is used.
* Changed PropertyUtil to work with the new Context.
RoleManager:
* A default implementation for a role can now be specified. Currently
can only do this programatically.
DefaultMasterConverter:
* Removed MasterConverter interface. It is now identified by the Converter
role.
* Now caches the converter instances.
* Changed the converter search algorithm to traverse the *source* class
hierarchy, including all interfaces. Chooses the most specialised
conversion, and fails if there is more than one such choice.
DefaultConfigurer:
* Attempts to convert references, if the type does not match the expected type.
* Changed handling of nested elements, for named adders/setters:
* If the method type can be mapped to a role, and that role has a default
implementation, then use that default implementation.
* Otherwise, if the method type is an interface, fail.
* Otherwise, create an instance using no-args constructor.
* Changed handling of nested elements, for typed adders/setters:
* If the method type can be mapped to a role, and the element name is
a type of that role, then use that role to create the instance.
* Otherwise, use the type factory for the generic data-type role.
* Attempt to convert the instance if it is not of the expected type.
* Added a bunch of test cases for new functionality.
* Renamed all the ConfigTest classes to have descriptive names.
Misc:
* Renamed package framework.factorys -> framework.factories.
* Made tests work when fork = false.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271539 13f79535-47bb-0310-9956-ffa450edef68
* A class may now be explicitly associated with a role, rather than being
implicit in the role name.
* Added RoleInfo to bundle up role meta-info.
* Reworked the methods of RoleManager.
* Added test-cases for DefaultRoleManager.
* Make tests compile again.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271498 13f79535-47bb-0310-9956-ffa450edef68
* CLIMain now uses the listener's short name, rather than classname, to
construct the listener. This is done with the help of the Embeddor.
* Added NoPrefixProjectListener, which emulates the -emacs mode of Ant 1.x.
* Added -p, --noprefix command-line option, to use the NoPrefixProjectListener.
* Changed the methods on ProjectListener to take event objects. Combined the
log() methods into a single method.
* Moved state tracking out of AbstractProjectListener, and into DefaultWorkspace
(where it doesn't need to be tracked). State info is now available via the
event objects passed to the listener methods.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271305 13f79535-47bb-0310-9956-ffa450edef68
* Got rid of <converters> element from antlib descriptor. Converters are
now defined in the <types> element.
* Moved (most of) the role-specific knowledge from Deployment back to DefaultDeployer.
* Split out ClassLoader management into DefaultClassLoaderManager. This is
living in the deployer package for now.
* Tidied-up the component set-up and clean-up in DefaultEmbeddor. Added
the ClassLoaderManager component.
* Added test for TypeDeployer.deployAll().
Changes to unit tests:
* Added AbstractMyrmidonTest, which takes care of locating test resources.
* Changed the VFS, type factory, and deployer tests to use AbstractMyrmidonTest.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271271 13f79535-47bb-0310-9956-ffa450edef68
classes that implement DataType. Generates a <data-type> and
a <task> definition for each DataType.
* Include ant-roles.xml in generated typelibs.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271096 13f79535-47bb-0310-9956-ffa450edef68
* Added a String -> Path converter.
* Added the appropriate declarations to ant1-ant-descriptor.xml.
* PathLocation is now only used internally by Path. This means a <path> may
not contain nested <pathlocation> elements any more. Nested <path> elements
can be used to do the same thing.
* Removed Path.systemClasspath and Path.concatSystemClassPath(). The goal
is to add specialised <systemclasspath>, <antruntime>, and <javaruntime>
data-types to control this explicitly. I left it unfinished, because the
as-yet-unwritten Java util stuff will determine how it should be done.
* Moved Path.addExtdirs() -> DefaultCompilerAdaptor. This was the only
place it was used.
* Cleaned out a few more Path createX() methods.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270786 13f79535-47bb-0310-9956-ffa450edef68
BlahEnum getByName(String name)
(may return null or throw an IllegalArgumentException if bad name)
String[] getNames()
This is a replacement for EnumeratedAttribute that is more friendly to people who want to use enums programatically.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270398 13f79535-47bb-0310-9956-ffa450edef68