Skip to content

Commit eacc9be

Browse files
[release/7.0] Fix encoding problem when publishing (#83577)
* Fix. * Applied @pavelsavara's review. * Update dependencies from https://github.com/dotnet/emsdk build 20230323.1 (#83860) Microsoft.NET.Workload.Emscripten.net6.Manifest-7.0.100 , Microsoft.NET.Workload.Emscripten.net7.Manifest-7.0.100 From Version 7.0.4 -> To Version 7.0.5 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> --------- Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
1 parent ed90f14 commit eacc9be

File tree

4 files changed

+6
-25
lines changed

4 files changed

+6
-25
lines changed

src/tasks/Common/Utils.cs

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ static string CreateTemporaryBatchFile(string command)
6464
using StreamWriter sw = new(file);
6565
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
6666
{
67+
// set encoding to UTF-8 -> full Unicode support is needed for usernames -
68+
// `command` contains tmp dir path with the username
69+
sw.WriteLine(@"%SystemRoot%\System32\chcp.com 65001>nul");
6770
sw.WriteLine("setlocal");
6871
sw.WriteLine("set errorlevel=dummy");
6972
sw.WriteLine("set errorlevel=");
@@ -187,29 +190,6 @@ public static (int, string) TryRunProcess(
187190
return (process.ExitCode, outputBuilder.ToString().Trim('\r', '\n'));
188191
}
189192

190-
internal static string CreateTemporaryBatchFile(string command)
191-
{
192-
string extn = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".cmd" : ".sh";
193-
string file = Path.Combine(Path.GetTempPath(), $"tmp{Guid.NewGuid():N}{extn}");
194-
195-
using StreamWriter sw = new(file);
196-
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
197-
{
198-
sw.WriteLine("setlocal");
199-
sw.WriteLine("set errorlevel=dummy");
200-
sw.WriteLine("set errorlevel=");
201-
}
202-
else
203-
{
204-
// Use sh rather than bash, as not all 'nix systems necessarily have Bash installed
205-
sw.WriteLine("#!/bin/sh");
206-
}
207-
208-
sw.WriteLine(command);
209-
210-
return file;
211-
}
212-
213193
public static bool CopyIfDifferent(string src, string dst, bool useHash)
214194
{
215195
if (!File.Exists(src))

src/tests/BuildWasmApps/Wasm.Build.Tests/BlazorWasmBuildPublishTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public BlazorWasmBuildPublishTests(ITestOutputHelper output, SharedBuildPerTestC
2626
[InlineData("Release")]
2727
public void DefaultTemplate_WithoutWorkload(string config)
2828
{
29-
string id = $"blz_no_workload_{config}";
29+
string id = $"blz_no_workload_{config}{s_unicodeChar}";
3030
CreateBlazorWasmTemplateProject(id);
3131

3232
// Build

src/tests/BuildWasmApps/Wasm.Build.Tests/BuildPublishTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public BuildPublishTests(ITestOutputHelper output, SharedBuildPerTestClassFixtur
2525
[BuildAndRun(host: RunHost.Chrome, aot: false, config: "Debug")]
2626
public void BuildThenPublishNoAOT(BuildArgs buildArgs, RunHost host, string id)
2727
{
28-
string projectName = $"build_publish_{buildArgs.Config}";
28+
string projectName = $"build_publish_{buildArgs.Config}_{s_unicodeChar}";
2929

3030
buildArgs = buildArgs with { ProjectName = projectName };
3131
buildArgs = ExpandBuildArgs(buildArgs);

src/tests/BuildWasmApps/Wasm.Build.Tests/BuildTestBase.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public abstract class BuildTestBase : IClassFixture<SharedBuildPerTestClassFixtu
2929
{
3030
public const string DefaultTargetFramework = "net7.0";
3131
public static readonly string NuGetConfigFileNameForDefaultFramework = $"nuget7.config";
32+
protected static readonly char s_unicodeChar = '\u7149';
3233
protected static readonly bool s_skipProjectCleanup;
3334
protected static readonly string s_xharnessRunnerCommand;
3435
protected string? _projectDir;

0 commit comments

Comments
 (0)