* TransformingProjectBuilder
- Performs an XSL transform on all ".xml" build files.
- Identity transform is used for projects with "version" attribute.
- Added xalan.jar to lib - replaced jaxp.jar with xml-apis.jar
* Compatibility Layer
- Described more fully in src/ant1compat/README.txt
- Uses pre-compiled Ant1 jar files for Ant1 code-base.
Insulates from changes in the main tree, and simplifies build.
- "ant." prefix used for all ant1 tasks
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271884 13f79535-47bb-0310-9956-ffa450edef68
ie Test code for package foo is located in package foo.test
* Migrated all the test data into the same hierarchy so that there is only one place where you have to look for test data.
This required that resource retrieval be hackled a little because no longer in same package as tested code/
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271870 13f79535-47bb-0310-9956-ffa450edef68
* Added LineFilter role, which represents a filter that handles lines of text.
* Added TokenSet role, which represents a set of token -> value mappings.
* Renamed FilterSetCollection -> LineFilterSet. This is now a compound
LineFilter that takes a set of nested LineFilters. This is pretty much
just a placeholder until the new filter streams are ported across from ant 1.
* Renamed Filter -> SingletonTokenSet. This is a TokenSet that contains a
single mapping. Moved to antlib.core.
* Added PropertyTokenSet, a TokenSet that uses the project properties as
its mappings. Added to antlib.core.
* Split FilterSet into TokenLineFilter, which is a LineFilter that replaces
tokens with their value, and FileTokenSet, which is a TokenSet loaded from
a properties file.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271869 13f79535-47bb-0310-9956-ffa450edef68
* Reverted TypeManager to reference roles by name, rather than type.
* DefaultTypeManager now uses the RoleManager to determine a role's type, to
use for doing instanceof checks.
* DefaultMasterConverter, InstantiatingServiceManager, and VfsManager no
longer look up a TypeFactory in their service() method.
* Added ROLE field to several interfaces.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271849 13f79535-47bb-0310-9956-ffa450edef68
* Removed "if" and "unless" conditions from targets.
* Moved parsing of "project->target" dependencies out of DefaultWorkspace,
into DefaultProjectBuilder.
* DefaultWorkspace now detects cycles in the target dependency graph.
* DefaultWorkspace now executes the implicit target for referenced projects.
* Changes to DefaultProjectBuilder error reporting.
* Added a few more test cases for DefaultProjectBuilder.
Unit Tests:
* Moved AbstractComponentTest.getLogger() up to AbstractMyrmidonTest.
* Removed AbstractComponentTest.setup(). Components are now created on demand.
* Use BasicLogger in unit tests.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271835 13f79535-47bb-0310-9956-ffa450edef68
I also think that usage of the log() methods except in really rare circumstances leads to poor programming idioms. Hopefully there will only be a handful of tasks that use it (like <log/>) and thus it is not universal enough to be in the TaskContext.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271821 13f79535-47bb-0310-9956-ffa450edef68
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