2010-04-10 Ankit Jain * 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 * ReservedNameUtils.cs (GetReservedMetadata): Handle empty item. 2010-04-08 Ankit Jain * ToolTask.cs: Use regex to parse output. Regex is from monodevelop. 2010-04-08 Ankit Jain * ToolTask.cs (ExecuteTool): Check that the tool exists. 2010-04-03 Ankit Jain * 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 * TaskItem.cs: Track api changes. 2010-02-10 Ankit Jain * 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 * 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 * ToolTask.cs (SkipTaskExecution): Use ValidateParameters method. Remove some MonoTODOs. 2009-11-25 Ankit Jain * ToolLocationHelper.cs: Set directory for 3.0 framework to "2.0" 2009-11-09 Ankit Jain * TargetDotNetFrameworkVersion.cs (Version30): (Version35): New. * ToolLocationHelper.cs: Support 3.0 and 3.5 also. 2009-10-13 Ankit Jain * TaskLoggingHelper.cs: * ToolTask.cs: Fix warnings. 2009-10-12 Ankit Jain * TaskLoggingHelper.cs: Use the buildEngine.ProjectFileOfTaskNode in the event args. 2009-10-12 Ankit Jain * ToolTask.cs (ExecuteTool): Don't set toolOutput to null. (HandleTaskExecutionErrors): toolOutput can be null. Set toolOutput to null here. 2009-10-06 Ankit Jain * 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 * AppDomainIsolatedTask.cs (BuildEngine): Init 'log'. 2009-09-29 Ankit Jain * ToolTask.cs (ExecuteTool): Use LogToolCommand, instead of directly logging. (LogToolCommand): Implement. 2009-09-28 Ankit Jain * ToolTask.cs (ProcessOuputTool): Move logging of tool output from here to .. (ExecuteTool): .. here. As, ProcessOuputTool can be overridden. 2009-09-24 Ankit Jain * ToolTask.cs (HasLoggedErrors): Add missing property. 2009-09-23 Ankit Jain * TaskLoggingHelper.cs (LogErrorFromException): Add missing overload. 2009-09-10 Ankit Jain * TaskLoggingHelper.cs (FormatString): Use the unformatted string even if the args array was empty. 2009-09-08 Ankit Jain * ToolTask.cs (LogEventsFromTextOutput): Log message even if its not identified as an error or a warning. 2009-07-28 Ankit Jain * 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 * 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 Fix bug #491828. * ToolTask.cs (LogEventsFromTextOutput): Log even in case of unrecognized errors. 2009-02-25 Ankit Jain * 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 Fix bug #475438. * ToolTask.cs (RealExecute): Check whether the target executable exists. Log any execution errors. 2008-08-06 Ankit Jain * CommandLineBuilder.cs (AppendSwitchIfNotNull): Quote individual items of the array. 2008-07-31 Ankit Jain * 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 * CommandLineBuilder.cs: Add quotes when there are needed. 2007-01-06 Marek Sieradzki * ToolLocationHelper.cs: Implemented GetPathToDotNetFramework () and GetPathToDotNetFrameworkSdk (). 2006-12-29 Marek Sieradzki * ToolTask.cs (LogEventsFromTextOutput): This method is actually protected so we can't remove second parameter. 2006-12-19 Marek Sieradzki * 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 * CommandLineBuilder.cs (VerifyThrowNoEmbeddedDoubleQuotes): Implemented. 2006-12-04 Marek Sieradzki * TaskItem.cs: Add a hack that will replace '\\' with Path.DirectorySeparatorChar. 2006-12-04 Marek Sieradzki * ToolTask.cs: Changed importance to Normal. 2006-10-08 Marek Sieradzki * TaskLoggingHelper.cs: Changed "" to String.Empty. 2006-10-06 Marek Sieradzki * TaskLoggingHelper.cs: Made LogErrorFromException () show stack trace by default. 2006-09-30 Marek Sieradzki * ReservedNameUtils.cs: Added a null check. 2006-06-22 Marek Sieradzki * ToolTask.cs: Added some [MonoTODO]s. 2006-05-27 Marek Sieradzki * CommandLineBuilder.cs: Corrected IsQuotingRequired (). * TaskLoggingHelper.cs: Added null check. 2006-05-26 Marek Sieradzki * Logger.cs: Added MonoTODO. * TaskLoggingHelper.cs: Changed helpKeywordPrefix to helpKeyword. It looks like it's still wrong. 2006-05-03 Marek Sieradzki * ToolTask.cs: Fixed exit code. 2006-04-24 Marek Sieradzki * ToolTask.cs, TaskItem.cs: Small fixes. * TaskLoggingHelper.cs: Added checking for null parameters. 2006-04-14 Marek Sieradzki * TaskItem.cs: Moved checking if metadata name is reserved to internal class (Mono.XBuild.Utilities.ReservedNameUtils). 2006-03-29 Marek Sieradzki * TaskItem.cs: Coding style changes. 2006-03-29 Crestez Leonard * TaskItem.cs: Cleaned up. 2006-03-11 Marek Sieradzki * CommandLineBuilder.cs: Corrected exceptions throwing. * TaskItem.cs: Fixed MetadataNames property. 2006-02-26 Marek Sieradzki * CommandLineBuilder.cs: Fixed a typo. * HostObjectInitializationStatus.cs: Fixed order. * ToolTask.cs: Updated for new API. 2006-02-25 Marek Sieradzki * HostObjectInitializationStatus.cs: Added. 2006-02-25 Marek Sieradzki * CommandLineBuilder.cs, Logger.cs, TaskLoggingHelper.cs, ToolTask.cs : Updated API. 2006-02-24 Marek Sieradzki * AppDomainIsolatedTask.cs, Task.cs: Quick hacks to make it compile with new API. 2005-09-22 Marek Sieradzki * 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 * ToolTask.cs: Formatting. * TaskItem.cs: Removed obsoleted code. * ToolLocationHelper.cs: Formatting. 2005-09-09 Marek Sieradzki * CommandLineBuilder.cs, Logger.cs, AppDomainIsolatedTask.cs, ConcurrentLoggingHelper.cs, TaskLoggingHelper.cs: Changed protected fields to private. 2005-08-30 Marek Sieradzki * TaskItem.cs, TaskLoggingHelper.cs: Formatting. 2005-08-27 Marek Sieradzki * Logger.cs: Formatting. * ToolTask.cs: Added error/warning handling. * TaskLoggingHelper.cs: Fixed LogErrorFromException (). 2005-08-24 Marek Sieradzki * 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 * TaskItem.cs: MetadataCount fixed. 2005-08-16 Marek Sieradzki * Task.cs: Added creation of TaskLoggingHelper.cs. * TaskLoggingHelper.cs: Ctor uses Task's BuildEngine. 2005-08-14 Marek Sieradzki * TaskItem.cs: Added GetMetadata and fixed other functions. 2005-08-12 Marek Sieradzki * CommandLineBuilder.cs: Add appending spaces (currently commented) * ToolTask.cs: Add process. 2005-08-06 Marek Sieradzki * AppDomainIsolatedTask.cs, CommandLineBuilder.cs, ConcurrentLoggingHelper.cs, Logger.cs, Task.cs, TaskItem.cs, TaskLoggingHelper.cs, ToolTask.cs: Various fixes. 2005-07-13 Marek Sieradzki * Logger.cs, AppDomainIsolatedTask.cs, ToolTask.cs, TaskItem.cs, ConcurrentLoggingHelper.cs, TaskLoggingHelper.cs: Small fixes, still unusable 2005-07-05 Marek Sieradzki * 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