uses a TaskContext again. Added some regression tests.
* Changed Embeddor.createWorkspace() to use a Map, rather than a Parameters,
to supply initial workspace properties. Initial properties can be Objects,
rather than only Strings. Got rid of the Object -> String convertion from
<ant> and <antcall>.
* Generalised ExecutionFrame, so that it can represent any execution scope
(root, workspace, project, task, inherited, etc), rather than just task scope:
- Replaced getTaskContext() with getPropertyStore().
- Replaced getTypeManager() with getServiceManager().
* Executor is now responsible for creating TaskContext.
* Changed DefaultExecutor to use the configurer provided by the execution frame.
* Added ExecutionContainer, a lifecycle interface which is used to supply the
root execution frame to a service which executes tasks (directly or indirectly).
* Changed interaction between DefaultEmbeddor and workspaces. Embeddor is now
responsible for creating the base property store for workspaces. ExecutionContainer
is used to pass this to workspaces. Parameterizable is now used to pass
container params to workspaces (which matches how it is used with all the
other services).
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272302 13f79535-47bb-0310-9956-ffa450edef68
of Commandline to use ArgumentList instead.
* Execute now extends Commandline.
- Removed Execute.getCommandline().
- Moved Commandline.getCommandline() down to Execute, and made private.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272274 13f79535-47bb-0310-9956-ffa450edef68
- Moved generic formatting to aut.nativelib.PathUtil.
- Moved FileList util methods to framework.file.FileListUtil.
- Moved addExtDirs() to DefaultCompilerAdaptor.
- myrmidon.components.* no longer depend on todo.*
* Removed all usages of Commandline.toString(), size() and getCommandline(),
excluding Execute.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272268 13f79535-47bb-0310-9956-ffa450edef68
* Added FileSelector, which allows files to be chosen when doing recursive
operations. Added a couple of implementations. Added a selector parameter
to FileObject.delete() and copy().
* Added FileObject.replicateFile(), which converts a FileObject into a local File.
* Moved replication code out of the Zip provider, into a shared FileReplicator
component. The implemenation is pretty brain-dead, but at very least should
properly clean up temporary files in ant_vfs_cache. Also, local files will
no longer be replicated, but used directly.
* Added FileName.getRelativeName(), and NameScope.DESCENDENT_OR_SELF.
* Now handles providers which are LogEnabled and Disposable.
* Made the local file provider pluggable.
* Providers are now responsible for thier own caching.
* FTP and Zip providers clean up properly. Fixed FTP directory delete.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272262 13f79535-47bb-0310-9956-ffa450edef68
Moved all attributes relating to extension into a sub-element "extension"
Renamed "depends" to "dependsfileset"
Renamed "optional" to "optionalfileset"
Added "depends" sub element that are the same as "extension" sub-element
Added "option" sub element that are the same as "extension" sub-element
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272251 13f79535-47bb-0310-9956-ffa450edef68
processGetPreviousRevision method sets the status to GET_COMMENT but it should set it to
GET_DATE otherwise the date information gets put in the comment and as the author is
escaped using a CDATA, you finally get a CDATA inside a CDATA...
Submitted By: Frederic Lavigne <fred@castify.net>
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272201 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
in the current project, or any referenced project.
* <ant1.ant> now works by executing AntTask.
* Fixed minor bug in DefaultClassloaderManager which was causing NPEs
in URLClassLoader.
* DefaultTaskContext now removes properties when they are set to null.
(rather than throwing a NPE inside HashMap).
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272067 13f79535-47bb-0310-9956-ffa450edef68
* Split <is-set> into <is-set> and <is-true> conditions. <is-true> uses the
converter to determine whether something is 'true', so is a little fussy.
* Moved <uptodate> and <equals> into antlib, and made <uptodate> a condition.
* Added <type-available> condition, which checks whether a particular
type is defined.
* Fixed <not> to actually work.
* Added test cases for some of the conditions.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272066 13f79535-47bb-0310-9956-ffa450edef68
ClassLoader from a class-path.
* Moved responsibility for creation of ClassLoaders out of the tasks, and into
the ClassLoaderManager, which caches them, and resolves extension dependencies.
* Added PathUtil.createClassLoader() convenience method to create a ClassLoader
from a Path.
* Changed the PathUtil methods to use the more general FileList, rather than Path.
* Added 'classpath' attribute to the <*-available> conditions.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272047 13f79535-47bb-0310-9956-ffa450edef68