The next major step for this will be a set of hooks to allow ant to
be more JMX friendly - one very straightforward way to embed ant
is by using MBeans to represent the components.
In addition ant should be able to use MBeans as tasks and in
the build process.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273165 13f79535-47bb-0310-9956-ffa450edef68
AntContext.
Started the cleanup process.
The reason for 'stateless' model is not performance, but having a cleaner
model. It is very hard to track things on the stack or in different
handlers.
The next major step will be to try to reorganize the DataType/Task/UnknownTask
creation.
So far all features ( sax2, import, dynamic prop, classloader ) seem to work
fine with 1.5 - at least on all projects I'm working on.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273164 13f79535-47bb-0310-9956-ffa450edef68
Implement the 'projectName.target' instead of super. I'm still trying
to find a way to allow Import task to hook in and support whatever
policy it wants.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273141 13f79535-47bb-0310-9956-ffa450edef68
executing other targets ( which is closer to the original
behavior ).
Import started to work a bit - but it complain about
circular dep on super.mb2, still investigating.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273135 13f79535-47bb-0310-9956-ffa450edef68
Made few fields public - the whole thing will be refactored with
proper getter/setters after things are stable.
Added import processing ( the patch was modified a bit ).
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273133 13f79535-47bb-0310-9956-ffa450edef68
You need to include ant-sax2.jar in ant/lib, define a <path id='foo'> that includes
all the jars that you need ( junit.jar, etc ) and then use
<systemPath pathRef='foo' /> to create the loader and reload all optional tasks.
After this step all optional tasks will work in the same way as if you have
included the jars from the <path> definition in ant/lib.
I did some basic tests and seems to work fine - note that <taskdef> will
work as before, i.e. if you explicitely define tasks that need optional
jars ( or redefine optional task ), you'll have the old behavior ( i.e.
require things in CLASSPATH ).
I'll try to find what changes are need for <import> and re-do the build
for ant-sax2, then do more testings.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273118 13f79535-47bb-0310-9956-ffa450edef68
properties.
This is not final, of course.
PropertyHelper will implement all property manipulation. Eventually in
ant1.6 the static methods in various places should just wrap and
call this. In 1.6 the property storage can also be migrated to this
class.
It should be possible by a task or embedding application to replace
the whole mechanism - no need for discovery on this one, it can be
done by a task.
The PropertyInterceptor will be used to plug different sources
for the property. I'm thinking to just have tasks/types implementing
this interface automatically get registered - it's the simpler
solution for tasks developers ( I think ).
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273107 13f79535-47bb-0310-9956-ffa450edef68
will replace all optional tasks, using an AntClassLoader to load
( delegation disabled for the optional package ).
Next step is to add a task that adds jars to the loader for optional.
( like junit.jar, etc ).
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273106 13f79535-47bb-0310-9956-ffa450edef68
and supports SAX2 attributes.
In addition, the property substitution has few enhancements: if the
property name is not found and it has a special syntax we'll use the
references to compute a value.
This is work in progress, but the intention is to support dom: syntax
for selecting nodes ( similar with XmlProperties, but using 'life'
DOM tree ) and bean: to use getters on the tasks/objects in the reference
table.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272726 13f79535-47bb-0310-9956-ffa450edef68