Improve error reporting.
commitbbca0ba40e5447d86eaf08011ce4a5679c53653c
authorankit <ankit@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Mon, 12 Oct 2009 07:36:28 +0000 (12 07:36 +0000)
committerankit <ankit@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Mon, 12 Oct 2009 07:36:28 +0000 (12 07:36 +0000)
tree5616d3b1f25a70d9a01e3bb1090682fa7fc147a5
parent510eff2c819c67de7658ac9ed4c04e98c3fced84
Improve error reporting.

In class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine:
* Target.cs (TargetFile): New. Gives the name of the file
containing the target definition.
* BuildEngine.cs (.ctor): Add a 'taskfile' parameters, and
return this for ProjectFileOfTaskNode.
* BuildTask.cs (LogTaskStarted):
(LogTaskFinished): Use parentTarget.ProjectFileOfTaskNode for
the event.
(InitializeTask): Set BuildEngine's task file to parent target's
TargetFile.
* Engine.cs (LogProjectStarted): Incase of default targets, set
TargetNames to String.Empty .
* TargetBatchingImpl.cs (LogTargetStarted):
(LogTargetFinished): Use target.TargetFile for the event.

* ConsoleLogger.cs: Keep a stack of project/target/task being
executed. And corresponding list of errors and warnings.
(EventsToString): Stringifies the current "stack", to be used
as key to the table of errors/warnings and for show messages
at the end of the build.

In class/Microsoft.Build.Tasks/Microsoft.Build.Tasks:
* ResolveAssemblyReference.cs: Remove unnecessary tab in the warning
messages.

In class/Microsoft.Build.Utilities/Microsoft.Build.Utilities:
* TaskLoggingHelper.cs: Use the buildEngine.ProjectFileOfTaskNode
in the event args.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mcs@143937 e3ebcda4-bce8-0310-ba0a-eca2169e7518
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildEngine.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildTask.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConsoleLogger.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs
class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/TargetBatchingImpl.cs
class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/ChangeLog
class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/ResolveAssemblyReference.cs
class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ChangeLog
class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TaskLoggingHelper.cs