Add support for ToolsVersion and correctly build msbuild+xbuild assemblies
[mono.git] / mcs / class / Microsoft.Build.Utilities / Microsoft.Build.Utilities / ChangeLog
index 2e38c07332fe0c977ea2132e3db7ba7b0516092c..4b6f4c5c6ae7f1ee63f4765eea9cdcb663baf592 100644 (file)
@@ -1,3 +1,276 @@
+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,