From 39776486e9b8e33b63aafb537029b17462035d73 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 10 Feb 2010 12:36:23 +0000 Subject: [PATCH] * ProcessService.cs (globalEnvironmentVariablesOverride): Use ProcessStringDictionary instead of StringDictionary. ProcessStringDictionary retains the case of the keys (env vars here). * ToolTask.cs (environmentOverride): Likewise. svn path=/trunk/mcs/; revision=151209 --- mcs/class/Microsoft.Build.Utilities/ChangeLog | 7 +++++++ .../Microsoft.Build.Utilities.dll.sources | 1 + .../Microsoft.Build.Utilities/Microsoft.Build.Utilities/ChangeLog | 8 ++++++++ .../Microsoft.Build.Utilities/ProcessService.cs | 6 ++++-- .../Microsoft.Build.Utilities/ToolTask.cs | 6 ++++-- 5 files changed, 24 insertions(+), 4 deletions(-) diff --git a/mcs/class/Microsoft.Build.Utilities/ChangeLog b/mcs/class/Microsoft.Build.Utilities/ChangeLog index 69f6616957c..d82c0037907 100644 --- a/mcs/class/Microsoft.Build.Utilities/ChangeLog +++ b/mcs/class/Microsoft.Build.Utilities/ChangeLog @@ -1,3 +1,10 @@ +2010-02-10 Ankit Jain + + * Microsoft.Build.Utilities.dll.sources: Add ProcessStringDictionary.cs + from class/System/System.Collections.Specialized . This is required as + the StringDictionary in ToolTask, used for EnvironmentOverrides, is + inadequate, because environment vars are case sensitive on unix. + 2009-04-25 Jonathan Chambers * Makefile: Adjust assembly name for 3.5 profile. diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities.dll.sources b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities.dll.sources index 2c9a69c6fc9..3ea52dc04c4 100644 --- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities.dll.sources +++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities.dll.sources @@ -17,3 +17,4 @@ Microsoft.Build.Utilities/ToolLocationHelper.cs Microsoft.Build.Utilities/ToolTask.cs Mono.XBuild.Utilities/MonoLocationHelper.cs Mono.XBuild.Utilities/ReservedNameUtils.cs +../System/System.Collections.Specialized/ProcessStringDictionary.cs diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ChangeLog b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ChangeLog index b729e53d451..4053ed9923a 100644 --- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ChangeLog +++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ChangeLog @@ -1,5 +1,13 @@ 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. diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ProcessService.cs b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ProcessService.cs index d27693151d1..3de49797724 100644 --- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ProcessService.cs +++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ProcessService.cs @@ -6,15 +6,17 @@ using System.Collections; using System.Collections.Specialized; using System.Diagnostics; +using SCS = System.Collections.Specialized; + namespace Microsoft.Build.Utilities { internal static class ProcessService { - static StringDictionary globalEnvironmentVariablesOverride; + static SCS.ProcessStringDictionary globalEnvironmentVariablesOverride; public static StringDictionary GlobalEnvironmentVariblesOverride { get { if (globalEnvironmentVariablesOverride == null) - globalEnvironmentVariablesOverride = new StringDictionary (); + globalEnvironmentVariablesOverride = new SCS.ProcessStringDictionary (); return globalEnvironmentVariablesOverride; } } diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs index eff4598c268..2af0265325b 100644 --- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs +++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs @@ -40,11 +40,13 @@ using System.Text.RegularExpressions; using Microsoft.Build.Framework; using Mono.XBuild.Utilities; +using SCS = System.Collections.Specialized; + namespace Microsoft.Build.Utilities { public abstract class ToolTask : Task { - StringDictionary environmentOverride; + SCS.ProcessStringDictionary environmentOverride; int exitCode; int timeout; string toolPath, toolExe; @@ -76,7 +78,7 @@ namespace Microsoft.Build.Utilities this.toolPath = MonoLocationHelper.GetBinDir (); this.responseFileEncoding = Encoding.UTF8; this.timeout = Int32.MaxValue; - this.environmentOverride = new StringDictionary (); + this.environmentOverride = new SCS.ProcessStringDictionary (); } static ToolTask () -- 2.11.4.GIT