From 06835732a8e6e9d18d548fbb4487bcaf5c8e1725 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 13 Jul 2018 15:08:27 -0700 Subject: Fix MSBuild handling of cultures plus add unit tests Fixes #5847 --- src/WixToolset.BuildTasks/DoIt.cs | 4 ++-- src/WixToolset.BuildTasks/WixAssignCulture.cs | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'src/WixToolset.BuildTasks') diff --git a/src/WixToolset.BuildTasks/DoIt.cs b/src/WixToolset.BuildTasks/DoIt.cs index 977a2326..0c7a0943 100644 --- a/src/WixToolset.BuildTasks/DoIt.cs +++ b/src/WixToolset.BuildTasks/DoIt.cs @@ -28,7 +28,7 @@ namespace WixToolset.BuildTasks public string AdditionalOptions { get; set; } - public string Cultures { get; set; } + public string[] Cultures { get; set; } public string[] DefineConstants { get; set; } @@ -145,7 +145,7 @@ namespace WixToolset.BuildTasks commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile); commandLineBuilder.AppendSwitchIfNotNull("-outputType ", this.OutputType); commandLineBuilder.AppendIfTrue("-nologo", this.NoLogo); - commandLineBuilder.AppendSwitchIfNotNull("-cultures ", this.Cultures); + commandLineBuilder.AppendArrayIfNotNull("-culture ", this.Cultures); commandLineBuilder.AppendArrayIfNotNull("-d ", this.DefineConstants); commandLineBuilder.AppendArrayIfNotNull("-I ", this.IncludeSearchPaths); commandLineBuilder.AppendExtensions(this.Extensions, this.ExtensionDirectory, this.ReferencePaths); diff --git a/src/WixToolset.BuildTasks/WixAssignCulture.cs b/src/WixToolset.BuildTasks/WixAssignCulture.cs index 7a03dc47..a8baa62f 100644 --- a/src/WixToolset.BuildTasks/WixAssignCulture.cs +++ b/src/WixToolset.BuildTasks/WixAssignCulture.cs @@ -174,8 +174,6 @@ namespace WixToolset.BuildTasks private class CultureGroup { - private List cultures = new List(); - /// /// TargetPath already has a '\', do not double it! /// @@ -193,11 +191,11 @@ namespace WixToolset.BuildTasks Debug.Assert(!String.IsNullOrEmpty(cultureGroupString)); foreach (string cultureString in cultureGroupString.Split(',')) { - this.cultures.Add(cultureString); + this.Cultures.Add(cultureString); } } - public List Cultures { get { return cultures; } } + public List Cultures { get; } = new List(); public string OutputFolder { @@ -218,7 +216,7 @@ namespace WixToolset.BuildTasks { if (this.Cultures.Count > 0) { - return String.Join(",", this.Cultures.ToArray()); + return String.Join(";", this.Cultures); } // We use a keyword for a null culture because MSBuild cannnot handle "" items -- cgit v1.2.3-55-g6feb