2010-04-10  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs: Don't wait for the process to end, before emitting
	it's stdout/stderr, emit as it is received. This helps with time
	consuming tools.

2010-04-10  Ankit Jain  <jankit@novell.com>

	* ReservedNameUtils.cs (GetReservedMetadata): Handle empty item.

2010-04-08  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs: Use regex to parse output. Regex is from monodevelop.

2010-04-08  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (ExecuteTool): Check that the tool exists.

2010-04-03  Ankit Jain  <jankit@novell.com>

	* TargetDotNetFrameworkVersion.cs: Add Version40 .
	* Task.cs (BuildEngine2): New.
	* ToolLocationHelper.cs: Use class/lib/net_* as the path
	for the assemblies and targets when running tests.
	Environment variable TESTING_MONO is set for testing.
	This allows a 4.0 xbuild to build 2.0/3.5 projects.

2010-02-19  Ankit Jain  <jankit@novell.com>

	* TaskItem.cs: Track api changes.

2010-02-10  Ankit Jain  <jankit@novell.com>

	* ProcessService.cs (globalEnvironmentVariablesOverride): Use
	ProcessStringDictionary instead of StringDictionary.
	ProcessStringDictionary retains the case of the keys (env vars
	here).
	* ToolTask.cs (environmentOverride): Likewise.

2010-02-10  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (ExecuteTool): Use the virtual method
	Standard*LoggingImportance, instead of the underlying field.
	(LogEventsFromTextOutput): Use @importance argument for LogMessage.
	(LogToolCommand): Remove MonoTODO.

2010-02-06  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (SkipTaskExecution): Use ValidateParameters method.
	Remove some MonoTODOs.

2009-11-25  Ankit Jain  <jankit@novell.com>

	* ToolLocationHelper.cs: Set directory for 3.0 framework
	to "2.0"

2009-11-09  Ankit Jain  <jankit@novell.com>

	* TargetDotNetFrameworkVersion.cs (Version30):
	(Version35): New.
	* ToolLocationHelper.cs: Support 3.0 and 3.5 also.

2009-10-13  Ankit Jain  <jankit@novell.com>

	* TaskLoggingHelper.cs:
	* ToolTask.cs: Fix warnings.

2009-10-12  Ankit Jain  <jankit@novell.com>

	* TaskLoggingHelper.cs: Use the buildEngine.ProjectFileOfTaskNode
	in the event args.

2009-10-12  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (ExecuteTool): Don't set toolOutput to null.
	(HandleTaskExecutionErrors): toolOutput can be null.
	Set toolOutput to null here.

2009-10-06  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (Execute): HandleTaskExecutionErrors is called only
	if exitCode != 0.
	(ExecuteTool): Move logging of exitcode to HandleTaskExecutionErrors.
	Remove MonoTODOs.
	* TaskLoggingHelper.cs (LogMessageFromText): New.
	(LogMessage): Refactor to use above.

2009-10-02  Ankit Jain  <jankit@novell.com>

	* AppDomainIsolatedTask.cs (BuildEngine): Init 'log'.

2009-09-29  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (ExecuteTool): Use LogToolCommand, instead of
	directly logging.
	(LogToolCommand): Implement.

2009-09-28  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (ProcessOuputTool): Move logging of tool
	output from here to ..
	(ExecuteTool): .. here. As, ProcessOuputTool can be
	overridden.

2009-09-24  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (HasLoggedErrors): Add missing property.

2009-09-23  Ankit Jain  <jankit@novell.com>

	* TaskLoggingHelper.cs (LogErrorFromException): Add missing overload.

2009-09-10  Ankit Jain  <jankit@novell.com>

	* TaskLoggingHelper.cs (FormatString): Use the unformatted string
	even if the args array was empty.

2009-09-08  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (LogEventsFromTextOutput): Log message even if its not
	identified as an error or a warning.

2009-07-28  Ankit Jain  <jankit@novell.com>

	* ToolTask (.ctor): Initialize Timeout value.
	(Execute): Use HandleTaskExecutionErrors to determine task result. Set
	exitCode to the result of ExecuteTool and let HandleTaskExecutionErrors
	determine final result of the task.
	(RealExecute): Rename to ..
	(ExecuteTool): .. this. @responseFileCommands could be empty.
	Use specified timeout value for the executing tool.
	Rename 'compilerOutput' to 'toolOutput'. Cleanup resources in the
	finally block. Move processing of stdout/stderr output to ..
	(ProcessOutputFile): .. here and ..
	(LogEventsFromTextOutput): .. here.
	(HandleTaskExecutionErrors): Implement.
	(DeleteTempFile): Implement.

2009-04-24  Ankit Jain  <jankit@novell.com>

	* ToolTask.cs (RealExecute): Handle TypeLoadExceptions, compiler
	crashes and report them. Borrow some tricks from md.
	(LogEventsFromTextOutput): Ignore known non-error messages. Don't
	log unknown lines, crashes get handled elsewhere.

2009-04-08  Ankit Jain  <jankit@novell.com>

	Fix bug #491828.
	* ToolTask.cs (LogEventsFromTextOutput): Log even in case of
	unrecognized errors.

2009-02-25  Ankit Jain  <jankit@novell.com>

	* ProcessService.cs, IAsyncOperation.cs, IProcessAsyncOperation.cs,
	ProcessWrapper.cs: Brought in from monodevelop.
	* ToolTask.cs: Use the new ProcessService to execute the tool. Honor
	SkipTaskExecution (). Use response files, but log the contents of the
	response file instead of "@foo.rsp". Support environmentOverrides.
	(LogEventsFromTextOutput): Add null check.
	* Exec.cs (GetWorkingDirectory): Use the workingDirectory property.

2009-02-20  Ankit Jain  <jankit@novell.com>

	Fix bug #475438.
	* ToolTask.cs (RealExecute): Check whether the target executable exists.
	Log any execution errors.

2008-08-06  Ankit Jain  <jankit@novell.com>

	* CommandLineBuilder.cs (AppendSwitchIfNotNull): Quote individual items
	of the array.

2008-07-31  Ankit Jain  <jankit@novell.com>

	* CommandLineBuilder.cs (chars): Use a char array instead of a
	hashtable. Add ';' to the list.
	(embeddedQuotes): Regex not required.
	(IsQuotingRequired): Update.
	(VerifyThrowNoEmbeddedDoubleQuotes): Update.
	Use VerifyThrowNoEmbeddedDoubleQuotes at appropriate points (see tests).

2007-05-16  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* CommandLineBuilder.cs: Add quotes when there are needed.

2007-01-06  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* ToolLocationHelper.cs: Implemented GetPathToDotNetFramework () and
	GetPathToDotNetFrameworkSdk ().

2006-12-29  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* ToolTask.cs (LogEventsFromTextOutput): This method is actually
	protected so we can't remove second parameter.

2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Logger.cs (FormatErrorEvent, FormatWarningEvent): Write only (a) or
	(a,b) or (a,b,c,d).

	* CommandLineBuilder.cs: Added null checks.

2006-12-18  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* CommandLineBuilder.cs (VerifyThrowNoEmbeddedDoubleQuotes):
	Implemented.

2006-12-04  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* TaskItem.cs: Add a hack that will replace '\\' with
	Path.DirectorySeparatorChar.

2006-12-04  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* ToolTask.cs: Changed importance to Normal.

2006-10-08  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* TaskLoggingHelper.cs: Changed "" to String.Empty.

2006-10-06  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* TaskLoggingHelper.cs: Made LogErrorFromException () show stack trace
	by default.

2006-09-30  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* ReservedNameUtils.cs: Added a null check.

2006-06-22  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* ToolTask.cs: Added some [MonoTODO]s.

2006-05-27  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* CommandLineBuilder.cs: Corrected IsQuotingRequired ().
	* TaskLoggingHelper.cs: Added null check.

2006-05-26  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Logger.cs: Added MonoTODO.
	* TaskLoggingHelper.cs: Changed helpKeywordPrefix to helpKeyword. It
	looks like it's still wrong.

2006-05-03  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* ToolTask.cs: Fixed exit code.

2006-04-24  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* ToolTask.cs, TaskItem.cs: Small fixes.
	* TaskLoggingHelper.cs: Added checking for null parameters.

2006-04-14  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* TaskItem.cs: Moved checking if metadata name is reserved to internal
	class (Mono.XBuild.Utilities.ReservedNameUtils).

2006-03-29  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* TaskItem.cs: Coding style changes.

2006-03-29  Crestez Leonard  <cdleonard@gmail.com>

	* TaskItem.cs: Cleaned up.

2006-03-11  Marek Sieradzki  <marek.sieradzki@gmail.com> 

	* CommandLineBuilder.cs: Corrected exceptions throwing.
	* TaskItem.cs: Fixed MetadataNames property.

2006-02-26  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* CommandLineBuilder.cs: Fixed a typo.
	* HostObjectInitializationStatus.cs: Fixed order.
	* ToolTask.cs: Updated for new API.

2006-02-25  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* HostObjectInitializationStatus.cs: Added.

2006-02-25  Marek Sieradzki  <marek.sieradzki@gmail.com> 

	* CommandLineBuilder.cs, Logger.cs, TaskLoggingHelper.cs, ToolTask.cs
	: Updated API.

2006-02-24  Marek Sieradzki  <marek.sieradzki@gmail.com> 

	* AppDomainIsolatedTask.cs, Task.cs: Quick hacks to make it compile with
	new API.

2005-09-22  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* CommandLineBuilder.cs, Logger.cs, AppDomainIsolatedTask.cs,
	ToolTask.cs, TaskItem.cs, Task.cs, ToolLocationHelper.cs,
	TargetDotNetFrameworkVersion.cs, ConcurrentLoggingHelper.cs,
	TaskLoggingHelper.cs: Added #if NET_2_0.

2005-09-21  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* ToolTask.cs: Formatting.
	* TaskItem.cs: Removed obsoleted code.
	* ToolLocationHelper.cs: Formatting.

2005-09-09  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* CommandLineBuilder.cs, Logger.cs, AppDomainIsolatedTask.cs,
	ConcurrentLoggingHelper.cs, TaskLoggingHelper.cs: Changed protected
	fields to private.

2005-08-30  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* TaskItem.cs, TaskLoggingHelper.cs: Formatting.

2005-08-27  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Logger.cs: Formatting.
	* ToolTask.cs: Added error/warning handling.
	* TaskLoggingHelper.cs: Fixed LogErrorFromException ().

2005-08-24  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* CommandLineBuilder.cs: Added checking for null values.
	* ToolTask.cs: Added real execution.
	* Task.cs: Changed all fields to private.
	* TaskLoggingHelper.cs: Formatting.

2005-08-19  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* TaskItem.cs: MetadataCount fixed.

2005-08-16  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Task.cs: Added creation of TaskLoggingHelper.cs.
	* TaskLoggingHelper.cs: Ctor uses Task's BuildEngine.

2005-08-14  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* TaskItem.cs: Added GetMetadata and fixed other functions.

2005-08-12  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* CommandLineBuilder.cs: Add appending spaces (currently commented)
	* ToolTask.cs: Add process.

2005-08-06  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* AppDomainIsolatedTask.cs, CommandLineBuilder.cs,
	ConcurrentLoggingHelper.cs, Logger.cs, Task.cs, TaskItem.cs,
	TaskLoggingHelper.cs, ToolTask.cs: Various fixes.

2005-07-13  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* Logger.cs, AppDomainIsolatedTask.cs, ToolTask.cs, TaskItem.cs,
	ConcurrentLoggingHelper.cs, TaskLoggingHelper.cs: Small fixes, still
	unusable

2005-07-05  Marek Sieradzki  <marek.sieradzki@gmail.com>

	* AppDomainIsolatedTask.cs, CommandLineBuilder.cs,
	ConcurrentLoggingHelper.cs, Logger.cs, MonoTODOAttribute.cs,
	TargetDotNetFrameworkVersion.cs, Task.cs, TaskItem.cs,
	TaskLoggingHelper.cs, ToolLocationHelper.cs, ToolTask.cs: Initial
	check-in, very buggy
