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