Mike,

I've modified the XmlLogger locally, to use the following xml layout to
report
build failures :

for build exceptions :

<failure type="build">
    <message></message>

    <location>
        <filename></filename>
        <linenumber></linenumber>
        <columnnumber></columnnumber>
    </location>

    (if location information is available)

    <stacktrace></stacktrace>
    <failure type="build|internal">
        nested exception
    </failure>
</failure>

for internal errors :

<failure type="internal">
    <message></message>
    <stacktrace></stacktrace>
    <failure type="build|internal">
        nested exception
    </failure>
</failure>

However, I'm still not sure I like it all that much

eg. should we use elements named <builderror> and <internalerror> instead of
using failure type="build|internal" ?  Could be better as an internal error
will never have a location node ...

In that case i'd add a type element containing the full name of the type of
the exception that was thrown ...

eg.

<builderror>
    <type>NAnt.Core.BuildException</type>
    <message><![CDATA[Unable to copy file xxx.]]></message>
    <location>
        <filename>D:\CVS\nant\test-xmllogger.xml</filename>
        <linenumber>15</linenumber>
        <columnnumber>3</columnnumber>
    </location>
    <stacktrace>
        <![CDATA[
            at NAnt.Core.Tasks.FailTask.ExecuteTask() in
D:\CVS\nant\src\NAnt.Core\Tasks\FailTask.cs:line 138
            at NAnt.Core.Task.Execute() in
D:\CVS\nant\src\NAnt.Core\Task.cs:line 151
            at NAnt.Core.Target.Execute() in
D:\CVS\nant\src\NAnt.Core\Target.cs:line 217
            at NAnt.Core.Project.Execute(String targetName, Boolean
forceDependencies) in D:\CVS\nant\src\NAnt.Core\Project.cs:line 768
            at NAnt.Core.Project.Execute() in
D:\CVS\nant\src\NAnt.Core\Project.cs:line 730
            at NAnt.Core.Project.Run() in
D:\CVS\nant\src\NAnt.Core\Project.cs:line 793
        ]]>
    </stacktrace>
<builderror>

and

<internalerror>
    <type>System.ArgumentNullException</type>
    <message><![CDATA[Argument xx was null.]]></message>
    <stacktrace>
        <![CDATA[
            at NAnt.Core.Tasks.FailTask.ExecuteTask() in
D:\CVS\nant\src\NAnt.Core\Tasks\FailTask.cs:line 138
            at NAnt.Core.Task.Execute() in
D:\CVS\nant\src\NAnt.Core\Task.cs:line 151
            at NAnt.Core.Target.Execute() in
D:\CVS\nant\src\NAnt.Core\Target.cs:line 217
            at NAnt.Core.Project.Execute(String targetName, Boolean
forceDependencies) in D:\CVS\nant\src\NAnt.Core\Project.cs:line 768
            at NAnt.Core.Project.Execute() in
D:\CVS\nant\src\NAnt.Core\Project.cs:line 730
            at NAnt.Core.Project.Run() in
D:\CVS\nant\src\NAnt.Core\Project.cs:line 793
        ]]>
    </stacktrace>
<internalerror>

What do you think ?

Gert



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to