as JUnit task relies on child elements being created before,
but configured after, the parent.
Build "test" target now passes when run through Myrmidon.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272136 13f79535-47bb-0310-9956-ffa450edef68
project, rather than using a stylesheet. (This is now the default builder for
".xml" files.)
* Removed xml-apis.jar and xalan.jar, and added jaxp.jar back in. Hopefully, this
will keep us out of avoid jar version hell.
* Added more stuff to the ${java.class.path} property available to ant1 tasks.
* Can now fully build Myrmidon using Ant1 compatibility layer. All test bar one
(Ant1CompatTestCase) pass when run using Myrmidon.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272123 13f79535-47bb-0310-9956-ffa450edef68
share a common abstract base class.
* Fixed <ant1> test files so that they run under Ant1.4, for checking.
* Fixed build so that ant1_todo.atl only includes the correct files.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272107 13f79535-47bb-0310-9956-ffa450edef68
to be used in <if>. Tests updated for new functionality.
* Ant1 conversion stylesheet uses nested <is-set> condition on <if>,
to replicate Ant1 behaviour of 'if=' and 'unless=' on targets.
* ant1compat antlib generated as part of standard build.
* Minor build cleanup: ${custom-tasks-dir} -> ${build.custom-tasks} for
consistency.
* Ant1CompatProject now uses ProjectHelper for property resolution, rather than
trying to duplicate Ant1 behaviour.
* Added tests for Ant1 Compatibility layer. These have been exclude from regular
build, as they fail when run under Ant1.4.1, because the JUnit task *always*
places ant.jar *first* in the JUnit classpath. Tests work under Ant1.5alpha,
since it adds ant.jar *last* by default. (Tests also function correctly by
invoking JUnit directly - or with Intellij JUnit integration).
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272101 13f79535-47bb-0310-9956-ffa450edef68
can accept any nested FileList implementation, including <path>.
* Added <list-path> diagnostic task.
* Added test cases for <path>.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271948 13f79535-47bb-0310-9956-ffa450edef68
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
* Added ExecuteJava.setIgnoreReturnCode() and executeForked() methods.
* Converted the remaining tasks from CommandlineJava to ExecuteJava.
* Removed CommandlineJava.
* Added convenience methods to Commandline and EnvironmentData.
* Made SysProperties into a static util class. It now longer extends
EnvironmentData, and can now handle Map (and Properties) as well as
EnvironmentData.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271918 13f79535-47bb-0310-9956-ffa450edef68
* Use modified version of Path.java, to provide all
available classes in Path.systemClasspath.
(Uses LoaderUtils.java taken from Mutant proposal,
for obtaining complete classpath from a ClassLoader.)
* Removed <ant> and <antcall> from ant1compat.atl
descriptor, since they don't work.
* Modified build so that xdoclet.jar and
jdepend.jar aren't included in dist/lib.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271907 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
* 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
* 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
* Target start and finish events are now fired for a project's implicit target.
* Unit tests now run against a dummy myrmidon install.
* Tidy-up some error messages.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271443 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