This patch removes the concept of currentTarget and currentTask from the
BuildEvents code. To facilitate this I have moved logging to the task
level which now passes a task pointer to the project's log method.
Task level logging may also allow for more fine grained control of logging
in the future.
I have left the Project's log methods public to allow people's custom
tasks to continue to work. In the future these can become private.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267740 13f79535-47bb-0310-9956-ffa450edef68
These can either be specified as path strings or nested elements. The path
strings use the same separator conventions as other paths in Ant.
When using nested elements, each component can be specified in a separate
<src> element.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267739 13f79535-47bb-0310-9956-ffa450edef68
- Moved the remaining System.out
calls to the DefaultLogger
- Cleaned up the default output
- Added System.exit to main()
tools can still invoke the runBuild
method without an exit being called.
- Changed javac task logging to stream out a line at a time
Submitted by: Matt Foemmel <mpfoemme@ThoughtWorks.com>
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267725 13f79535-47bb-0310-9956-ffa450edef68
The basic idea is to keep the core build engine "clean" and free of any
presentation logic, and to make it easier to extend Ant with other features
without cluttering up the core. To do this, I've defined a BuildListener
interface and added an "addBuildListener" method to Project that can be
used to register listener objects. Listeners could be implemented to
generate reports, send out emails when the build is complete, create a
bill of materials, etc...
The only new functionality visible to the end-user is a "-listener" option
on the command line that will let you specify the name of a class. An
instance of this class will be added as a listener to the project. I've
included a listener that will generate an XML log file, which you can use
by typing the command below.
build -listener org.apache.tools.ant.XmlLogger
PR:
Obtained from:
Submitted by: Matt Foemmel <mpfoemme@ThoughtWorks.com>
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267694 13f79535-47bb-0310-9956-ffa450edef68
While some (like chmod) are clearly Mac motivated, others (like Javac) are
fixes to bugs that can appear on any platform.
Submitted by: William Uther <will+ant@cs.cmu.edu>
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267621 13f79535-47bb-0310-9956-ffa450edef68
Also fix two files to compile with the more strict Jikes compiler.
Submitted by: Sebastian Kanthak <sebastian.kanthak@muehlheim.de>
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267619 13f79535-47bb-0310-9956-ffa450edef68
1) restructured Project and Task: copyFile should be a project
method rather than a task method for good OO patterns. Well,
actually they should be target-granular but we'll see.
2) patched all the necessary files to make the above work
3) removed some unused methods (setAttributes())
4) added the Filter task that addes token filtering capabilities
to all the copyFile operations. This works more or less as a
superstructure to Replace and KeySubst but automatically and
inherited by all the tasks that use copyFile() methods.
5) indicated KeySubst as deprecated
6) updated docs to reflect this new behavior
NOTE: behavior is _totally_ back compatible if you don't
specify any <filter> tag.
NOTE2: nothing is carved in stone. If you don't like something
you're welcome to propose fixes.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267604 13f79535-47bb-0310-9956-ffa450edef68