I'm just coding up a new logger to make it easier to analyse big
projects built with subant. From the patched listeners.html:
<h3><a name="BigProjectLogger">BigProjectLogger</a></h3>
<p>
This logger is designed to make examining the logs of a big build easier,
especially those run under continuous integration tools. It
</p>
<ol>
<li>Includes the build finished timestamp of the TimeStamp logger</li>
<li>Omits logging the names of all targets that have no direct task
output</li>
<li>Includes the name of the project when printing a target</li>
</ol>
<p>
This is useful when using <subant> to build a large project
from many smaller projects -the output shows which particular
project is building. Here is an example
</p>
<pre>
kernel.init:
[echo] building /home/ant/examples/kernel/lib/kernel-3.10.jar
... (many lines of log output omitted) ...
kernel.all:
[echo] completed kernel build
tasks.init:
[echo] building /home/ant/examples/tasks/lib/tasks-3.10.jar
[echo] system.tests.enabled=true
</pre>
One question I have here, is : how should I present teh project name.
(a) with a . for example: kernel.init and kernel.common.init
-good for simple things, but imports can confuse it
(b) a / for example: kernel/init and kernel/common.init
-may cause confusion as project names != dir names
(c) colon for example: kernel:init and kernel:common.init
(d) brackets [kernel]:init and [kernel]:common.init
-makes targets look like task output
(e) XML Qualified names :) {kernel}#init and {somewith with
spaces}#common.init
-awful
I'd started off with the '.' symbol, but worry that overriden imported
projects would introduce confusion... and you can have spaces in a
project name (which could trigger us quoting them)
I suppose I could make the separator and such like configurable through
project properties.
-steve
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]