specifying/testing name validity.
* NameValidator is used by DefaultProjectBuilder for project and target
names, and by DefaultTaskContext for Property names.
* Added ProjectException, thrown by ProjectBuilder.build().
* Tidy-up error messages for project building errors.
* Added a bunch of tests
Submitted by Darrell DeBoer [darrell@apache.org]
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271810 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
* Was not exiting with non-zero exit code when the build failed.
* Fix the error reporting so that the entire exception chain is reported.
* Only print out stack traces when in verbose or debug mode.
* Wrap all exceptions thrown during task initialisation and execution with
a general 'task failed' exception.
* Another <property> testcase.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271802 13f79535-47bb-0310-9956-ffa450edef68
(One implementation mimics Ant1 behaviour). These are added in the
"workspace" packages, since that's where PropertyUtil was. Not sure if this
is the right place.
* DefaultTaskContext now implements Context interface, used by
PropertyResolver. This avoids having the PropertyResolver dependent on
TaskContext, avoiding a potential circularity problem. (since TaskContext has
a "resolve" method of it's own).
* Removed PropertyUtil.
* Tests for PropertyResolver implementations.
Submitted by Darrell DeBoer [darrell@apache.org]
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271801 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
The SAX2 helper remains here - I want to do few more improvement and to
keep it in sync with my next proposal ( for TaskFactory )
I'll make a separate proposal for the SAX2 ProjectHelper when it's ready -
it doesn't have to be part of the official ant1.5 ( since we'll need
more discussion/experiments to decide what's the best use of the namespaces )
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271782 13f79535-47bb-0310-9956-ffa450edef68
to the first one, and redo the fixes ).
I fixed the inner class problems, fixed the Attributes->AttributeList conversion.
I also turned the processing from 'implicit' recursive to an explicit
stack. The model is identical with the one used by Axis, and it's much
cleaner and easier to maintain/extend/etc.
Again, I can move back to the first one if anyone has a problem with this
change. I think it's a very good one, but may be too much.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271757 13f79535-47bb-0310-9956-ffa450edef68
The compiler is required to 'rewrite' the code, removing 'private' and
adding an extra parameter ( try to decompile ProjectHelper and look
at method signatures ). While standard javac seem to work fine, I had
problems with many other compilers ( usually gcj, but now jikes is
complaining as well ).
I manually did what the compiler would do - now it should work
with any compiler.
( the runtime exception was a "Verifier error, expecting object/array on stack" )
I'll do the same thing for the SAX2 helper.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271756 13f79535-47bb-0310-9956-ffa450edef68
Note that it already had dependencies on SAX2 interfaces, but the original
helper worked with SAX1 parsers too. This one will only work with SAX2.
IMHO SAX2 should be the default, and the old one should be kept
around for backward compat or special cases.
The parser is not using the namespace in any way - it'll use the
RoleFactory plugin to allow use of the namespace in task creation.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271736 13f79535-47bb-0310-9956-ffa450edef68
I used the current sources ( with the new comments), and reimplemented
all changes.
The current version doesn't have anything related with the other proposals,
and is functionally equivalent with the old ProjectHelper - except it's
cleaner ( all private and SAX code moved to the helper imple ).
I created a new package, o.a.t.ant.helper to keep the core cleaner -
other helpers may be commited.
The SAX2 based helper is easy to write, but depends on few improvements
on RoleFactory ( createTask with namespace support, etc ).
I'm working on a new implementation of the task factory, with support
for data types and other roles - but that's another story.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271735 13f79535-47bb-0310-9956-ffa450edef68
Added datatype defaults.properties generation as well as xdocs for them. Created wrapper task somewhat similar to Darrell DoBoer's in mymidon (although his is still slicker!).
Since its already processing all of Ant's main source code, I added in generation of todo lists of both Ant and this proposal - into two separate directories.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271732 13f79535-47bb-0310-9956-ffa450edef68