duncan in ant

Oops.. Forgot little update in Bootstrap to build out the buildtarget

task. :)

A small task example that illustrates something... A long time ago I

argued against "if" logic as part of the defined part of Ant stating

that all logic really should go into tasks. Now that the object model

is clean enough, it becomes silly obvious how to do this without requiring

the addition of any if/unless attributes in the target definitions themselves.

The build target task takes a target name and, optionally a if property. If

the property is used and is "true", then the target is executed by calling

the appropriate functionality on the Project object.

Removed last legacy of and have settled a bit on how front

ends use core... In order for a front end to run a build, it first

creates a ProjectBuilder, loads a Project from it, then can run a

build on that Project. What still needs a bit of looking after is

creating a project from scratch (such as a GUI might do) and then

executing it. Later.

Removal.. Most of the functionality has been moved to other places now

that its becoming a bit more clear how FrontEnds should interace with the


Several things all at once...

* Bootstrap now passes args all the way through

* FrontEnding implemented which allows Ant to talk back out

to whatever front end might be driving it. Events propogated

are project start/end, target start/end, task start/end.

This should allow any front end (like a GUI) to move a

progress indicator through a display of the object tree.

Also included is a generic writeMessage(String, int) method.

* cli/Main now plays ClassLoader games so that it can auto

matically place needed resources (like tools.jar) into

the classpath space of the executing Ant. Note -- this

is the first of a few steps to make complicated shell

launch scripts unnecessary. All that should be done

is a single executable per platform that essentially

calls "java -jar anteater.jar [args]". Main is also

primed for a future CJAN so that it can download whatever

jars are needed from CJAN and place them into the classpath

space of the executing Ant. Of course, it's not implemented

yet since CJAN isn't around yet -- but its ready. :)

* AntException now has fields for embedding the location

of an Error. Next up will be implementing the code

around where Tasks are run so that exceptions will contain

this information.

Changed task loading to use a centralized TaskManager that keeps tabs on

all classes.

Changed bootstrap to use Conor's idea of having a BootBoot that grabs

tools.jar and puts it on the classpath when needed. I did change things

around so that it's now Bootstrap --> Bootstrap2

    • -0
    • +265
Updated instructions now that the .jars are history.

Remove .jar dependancies.. Now AntEater builds off xml-crimson as its parser

and handles things on its own. Only takes an extra 10 seconds on the bootstrap

and will tend to keep the crimson guys honest. :)

Initial checkin

    • -0
    • +52
    • -0
    • +299
    • -0
    • +14
  1. /core/trunk/proposal/anteater/source/main/org
  2. … 14 more files in changeset.
Removed ancient utah whiteboard area. The material in /spec is much

more up to date (even if it does need to be updated... :)

    • ?
    • ?
    /core/trunk/whiteboard/utah/design guide.xml
Put in proper unix /bin/sh declaration

Hack to make clear that Modern compiler isn't yet implemented. Of course,

a real solution is needed, but I didn't want to see any more unneeded

confusion over this.

Initial checkin of core spec. There's still pieces that need to be filled

in that I know about. The big on is the task reflection stuff.

    • -0
    • +278
Initial checkin of Utah Design Guide.

    • -0
    • +64
    • -0
    • +82
    /core/trunk/whiteboard/utah/design guide.xml
initial checkin

    • -0
    • +126
    • -0
    • +153
    • -0
    • +75
  1. /core/trunk/src/main/org/apache/tools/ant/taskdefs
    • -0
    • +47
    • -0
    • +98
  2. /core/trunk/src/main/org/apache/tools/ant
    • -0
    • +356
    • -0
    • +111
    • -0
    • +123
    • -0
    • +1
    • -0
    • +102
    • -0
    • +105
  3. … 59 more files in changeset.
Really just a test of notifications

Flesh out readme and testing putback notifications

Initial revision