From 23cedc7af65fe215d13d55c1e3ff451014264c84 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Sun, 9 Jun 2024 10:47:04 +0300 Subject: [PATCH 1/4] feat: Support new Fingerprint and Integrity metadata required in .NET 9 SDK Preview 4 --- .../StaticWebAssetsResolverTask.cs | 74 +++++++++++++++---- 1 file changed, 59 insertions(+), 15 deletions(-) diff --git a/src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs b/src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs index 99d2c65aa..801494cbe 100644 --- a/src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs +++ b/src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs @@ -1,4 +1,5 @@ -// ****************************************************************** + +// ****************************************************************** // Copyright � 2015-2022 Uno Platform inc. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,6 +23,8 @@ using System.Diagnostics; using System.IO; using System.Linq; +using System.Numerics; +using System.Security.Cryptography; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using Uno.Wasm.Bootstrap.Extensions; @@ -70,20 +73,7 @@ public override bool Execute() Log.LogMessage(MessageImportance.Low, $"Found {filteredAssets.Length} filtered assets"); StaticWebAsset = - filteredAssets.Select(asset => - new TaskItem(asset, new Dictionary - { - ["SourceType"] = "Discovered", - ["SourceId"] = AssemblyName, - ["ContentRoot"] = fixedDistPath, - ["RelativePath"] = asset.Replace(fixedDistPath, ""), - ["BasePath"] = WebAppBasePath is { Length: > 0 } ? WebAppBasePath : "/", - ["AssetKind"] = "All", - ["AssetMode"] = "All", - ["AssetRole"] = "Primary", - ["OriginalItemSpec"] = asset, - } - )) + filteredAssets.Select(asset => new TaskItem(asset, GetMetadata(asset, fixedDistPath))) .ToArray(); } else @@ -93,4 +83,58 @@ public override bool Execute() return true; } + + private Dictionary GetMetadata(string asset, string fixedDistPath) + { + var dict = new Dictionary + { + ["SourceType"] = "Discovered", + ["SourceId"] = AssemblyName, + ["ContentRoot"] = fixedDistPath, + ["RelativePath"] = asset.Replace(fixedDistPath, ""), + ["BasePath"] = WebAppBasePath is { Length: > 0 } ? WebAppBasePath : "/", + ["AssetKind"] = "All", + ["AssetMode"] = "All", + ["AssetRole"] = "Primary", + ["OriginalItemSpec"] = asset, + }; + + var (fingerprint, integrity) = ComputeFingerprintAndIntegrity(asset, asset); + dict.Add("Fingerprint", fingerprint); + dict.Add("Integrity", integrity); + return dict; + } + + // https://github.com/dotnet/sdk/blob/cc17704acfbee4b2ef49a82aa6f65aaa9cafffef/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAsset.cs#L233-L248 + private static (string fingerprint, string integrity) ComputeFingerprintAndIntegrity(string identity, string originalItemSpec) + { + var file = File.Exists(identity) ? + File.OpenRead(identity) : + (File.Exists(originalItemSpec) ? + File.OpenRead(originalItemSpec) : + throw new InvalidOperationException($"No file exists for the asset at either location '{identity}' or '{originalItemSpec}'.")); + +#if NET6_0_OR_GREATER + var hash = SHA256.HashData(file); +#else + using var sha = SHA256.Create(); + var hash = sha.ComputeHash(file); +#endif + return (ToBase36(hash), Convert.ToBase64String(hash)); + } + + private static string ToBase36(byte[] hash) + { + const string chars = "0123456789abcdefghijklmnopqrstuvwxyz"; + + var result = new char[10]; + var dividend = BigInteger.Abs(new BigInteger(hash.AsSpan().Slice(0, 9).ToArray())); + for (var i = 0; i < 10; i++) + { + dividend = BigInteger.DivRem(dividend, 36, out var remainder); + result[i] = chars[(int)remainder]; + } + + return new string(result); + } } From 223214a4ee3e2b4d6ffec8694cc5e49eea0ea968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Mon, 10 Jun 2024 09:47:51 -0400 Subject: [PATCH 2/4] chore: Don't msbuild reuse nodes for windows testing --- build/ci/stage-build-windows-tests.yml | 36 +++++++++++++------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/build/ci/stage-build-windows-tests.yml b/build/ci/stage-build-windows-tests.yml index a037ef209..8f02f5eb7 100644 --- a/build/ci/stage-build-windows-tests.yml +++ b/build/ci/stage-build-windows-tests.yml @@ -35,12 +35,12 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Bootstrap - dotnet msbuild /r /p:Configuration=Release /p:DISABLE_CLIHOST_NET6=true + dotnet msbuild /r /nr:false /p:Configuration=Release /p:DISABLE_CLIHOST_NET6=true displayName: Build bootstrap - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Bootstrap - dotnet msbuild /r /p:Configuration=Release /p:DISABLE_CLIHOST_NET6=true + dotnet msbuild /r /nr:false /p:Configuration=Release /p:DISABLE_CLIHOST_NET6=true displayName: Build bootstrap - pwsh: | @@ -48,14 +48,14 @@ jobs: $customMonoTempPath="$env:temp\with a space\test" mkdir $customMonoTempPath dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish /p:Configuration=Release /m:1 "/p:WasmShellMonoTempFolder=$customMonoTempPath" /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet6-win-temp-with-space.binlog + dotnet publish /p:Configuration=Release /m:1 /nr:false "/p:WasmShellMonoTempFolder=$customMonoTempPath" /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet6-win-temp-with-space.binlog displayName: Build Raytracer Sample with Spaces # Standalone Server publish - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Server.net7 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleServerNet7-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleServerNet7-win.binlog displayName: Build Standalone Server publish (net5) - pwsh: | @@ -76,13 +76,13 @@ jobs: $customMonoTempPath="$env:temp\with a space\test2" mkdir $customMonoTempPath dotnet clean -c Release - dotnet publish -c Release /m:1 "/p:WasmShellMonoTempFolder=$customMonoTempPath" /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/aottest-win-temp-with-space.binlog + dotnet publish -c Release /m:1 /nr:false "/p:WasmShellMonoTempFolder=$customMonoTempPath" /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/aottest-win-temp-with-space.binlog displayName: Build Raytracer Sample with Spaces - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Sample.RayTracer dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet5-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet5-win.binlog displayName: Build Raytracer Sample - pwsh: | @@ -99,7 +99,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Interpreter dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellILLinkerEnabled=false /bl:$(build.artifactstagingdirectory)/SampleNet5-nolinker-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellILLinkerEnabled=false /bl:$(build.artifactstagingdirectory)/SampleNet5-nolinker-win.binlog displayName: Build StaticLinking.Interpreter Sample (net5 without linker) # Static linking test (net5) emsdk path with space test @@ -108,14 +108,14 @@ jobs: mkdir "emsdk test" $env:WASMSHELL_WSLEMSDK="$(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Interpreter/emsdk test" dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellILLinkerEnabled=false /bl:$(build.artifactstagingdirectory)/SampleNet5-emsdk-space.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellILLinkerEnabled=false /bl:$(build.artifactstagingdirectory)/SampleNet5-emsdk-space.binlog displayName: Build StaticLinking.Interpreter Sample (emsdk path with space test) # Static linking test with obsfucation enabled - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Aot.Net6 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellObfuscateAssemblies=true /bl:$(build.artifactstagingdirectory)/SampleNet6-nolinker-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellObfuscateAssemblies=true /bl:$(build.artifactstagingdirectory)/SampleNet6-nolinker-win.binlog displayName: Build StaticLinking.StaticLinking.Aot.Net6 Sample (net6 with obfuscation) - pwsh: | @@ -132,7 +132,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Aot.Net6 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellAssembliesFileNameObfuscationMode=NoDots /bl:$(build.artifactstagingdirectory)/SampleNet5-nolinker-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellAssembliesFileNameObfuscationMode=NoDots /bl:$(build.artifactstagingdirectory)/SampleNet5-nolinker-win.binlog displayName: Build StaticLinking.StaticLinking.Aot.Net5 Sample (net5 with file name obfuscation) - pwsh: | @@ -159,7 +159,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Aot.Net6 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellObfuscateAssemblies=true /p:WasmShellAssembliesFileNameObfuscationMode=NoDots /bl:$(build.artifactstagingdirectory)/SampleNet6-dual-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellObfuscateAssemblies=true /p:WasmShellAssembliesFileNameObfuscationMode=NoDots /bl:$(build.artifactstagingdirectory)/SampleNet6-dual-win.binlog displayName: Build StaticLinking.Aot.Net6 Sample (dual obfuscation) - pwsh: | @@ -176,7 +176,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Aot.Net6 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet5-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet5-win.binlog displayName: Build StaticLinking.Aot Sample (net5) - pwsh: | @@ -193,7 +193,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.net7 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet7-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet7-win.binlog displayName: Build StaticLinking.Aot Sample (net7) - pwsh: | @@ -215,14 +215,14 @@ jobs: cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.net7 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet7-win-nuget-space.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet7-win-nuget-space.binlog displayName: Build StaticLinking with nuget space # Embedded mode test (net6) - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Embedded dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleEmbedded-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleEmbedded-win.binlog displayName: Build StaticLinking.Embedded Sample (net6) - pwsh: | @@ -239,14 +239,14 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Threads dotnet clean -c Debug /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Debug /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win-debug.binlog + dotnet publish -c Debug /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win-debug.binlog displayName: Build Threading Sample # Thread test - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Threads dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win-release.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win-release.binlog displayName: Build Threading Sample - pwsh: | @@ -263,7 +263,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Threads.Aot dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win.binlog + dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win.binlog displayName: Build Threading AOT Sample - pwsh: | From 12289297f3e138dd2314d653fb4b07edecabdcdc Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 10 Jun 2024 17:23:18 +0300 Subject: [PATCH 3/4] chore: using var --- src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs b/src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs index 801494cbe..724ac49e0 100644 --- a/src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs +++ b/src/Uno.Wasm.Bootstrap/StaticWebAssetsResolverTask.cs @@ -108,7 +108,7 @@ private Dictionary GetMetadata(string asset, string fixedDistPat // https://github.com/dotnet/sdk/blob/cc17704acfbee4b2ef49a82aa6f65aaa9cafffef/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAsset.cs#L233-L248 private static (string fingerprint, string integrity) ComputeFingerprintAndIntegrity(string identity, string originalItemSpec) { - var file = File.Exists(identity) ? + using var file = File.Exists(identity) ? File.OpenRead(identity) : (File.Exists(originalItemSpec) ? File.OpenRead(originalItemSpec) : From f88924d565129f412e2d5961c32588784e49a6aa Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 10 Jun 2024 19:10:59 +0300 Subject: [PATCH 4/4] Revert "chore: Don't msbuild reuse nodes for windows testing" This reverts commit 223214a4ee3e2b4d6ffec8694cc5e49eea0ea968. --- build/ci/stage-build-windows-tests.yml | 36 +++++++++++++------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/build/ci/stage-build-windows-tests.yml b/build/ci/stage-build-windows-tests.yml index 8f02f5eb7..a037ef209 100644 --- a/build/ci/stage-build-windows-tests.yml +++ b/build/ci/stage-build-windows-tests.yml @@ -35,12 +35,12 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Bootstrap - dotnet msbuild /r /nr:false /p:Configuration=Release /p:DISABLE_CLIHOST_NET6=true + dotnet msbuild /r /p:Configuration=Release /p:DISABLE_CLIHOST_NET6=true displayName: Build bootstrap - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Bootstrap - dotnet msbuild /r /nr:false /p:Configuration=Release /p:DISABLE_CLIHOST_NET6=true + dotnet msbuild /r /p:Configuration=Release /p:DISABLE_CLIHOST_NET6=true displayName: Build bootstrap - pwsh: | @@ -48,14 +48,14 @@ jobs: $customMonoTempPath="$env:temp\with a space\test" mkdir $customMonoTempPath dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish /p:Configuration=Release /m:1 /nr:false "/p:WasmShellMonoTempFolder=$customMonoTempPath" /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet6-win-temp-with-space.binlog + dotnet publish /p:Configuration=Release /m:1 "/p:WasmShellMonoTempFolder=$customMonoTempPath" /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet6-win-temp-with-space.binlog displayName: Build Raytracer Sample with Spaces # Standalone Server publish - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Server.net7 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleServerNet7-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleServerNet7-win.binlog displayName: Build Standalone Server publish (net5) - pwsh: | @@ -76,13 +76,13 @@ jobs: $customMonoTempPath="$env:temp\with a space\test2" mkdir $customMonoTempPath dotnet clean -c Release - dotnet publish -c Release /m:1 /nr:false "/p:WasmShellMonoTempFolder=$customMonoTempPath" /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/aottest-win-temp-with-space.binlog + dotnet publish -c Release /m:1 "/p:WasmShellMonoTempFolder=$customMonoTempPath" /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/aottest-win-temp-with-space.binlog displayName: Build Raytracer Sample with Spaces - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Sample.RayTracer dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet5-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet5-win.binlog displayName: Build Raytracer Sample - pwsh: | @@ -99,7 +99,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Interpreter dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellILLinkerEnabled=false /bl:$(build.artifactstagingdirectory)/SampleNet5-nolinker-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellILLinkerEnabled=false /bl:$(build.artifactstagingdirectory)/SampleNet5-nolinker-win.binlog displayName: Build StaticLinking.Interpreter Sample (net5 without linker) # Static linking test (net5) emsdk path with space test @@ -108,14 +108,14 @@ jobs: mkdir "emsdk test" $env:WASMSHELL_WSLEMSDK="$(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Interpreter/emsdk test" dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellILLinkerEnabled=false /bl:$(build.artifactstagingdirectory)/SampleNet5-emsdk-space.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellILLinkerEnabled=false /bl:$(build.artifactstagingdirectory)/SampleNet5-emsdk-space.binlog displayName: Build StaticLinking.Interpreter Sample (emsdk path with space test) # Static linking test with obsfucation enabled - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Aot.Net6 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellObfuscateAssemblies=true /bl:$(build.artifactstagingdirectory)/SampleNet6-nolinker-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellObfuscateAssemblies=true /bl:$(build.artifactstagingdirectory)/SampleNet6-nolinker-win.binlog displayName: Build StaticLinking.StaticLinking.Aot.Net6 Sample (net6 with obfuscation) - pwsh: | @@ -132,7 +132,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Aot.Net6 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellAssembliesFileNameObfuscationMode=NoDots /bl:$(build.artifactstagingdirectory)/SampleNet5-nolinker-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellAssembliesFileNameObfuscationMode=NoDots /bl:$(build.artifactstagingdirectory)/SampleNet5-nolinker-win.binlog displayName: Build StaticLinking.StaticLinking.Aot.Net5 Sample (net5 with file name obfuscation) - pwsh: | @@ -159,7 +159,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Aot.Net6 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellObfuscateAssemblies=true /p:WasmShellAssembliesFileNameObfuscationMode=NoDots /bl:$(build.artifactstagingdirectory)/SampleNet6-dual-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /p:WasmShellObfuscateAssemblies=true /p:WasmShellAssembliesFileNameObfuscationMode=NoDots /bl:$(build.artifactstagingdirectory)/SampleNet6-dual-win.binlog displayName: Build StaticLinking.Aot.Net6 Sample (dual obfuscation) - pwsh: | @@ -176,7 +176,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Aot.Net6 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet5-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet5-win.binlog displayName: Build StaticLinking.Aot Sample (net5) - pwsh: | @@ -193,7 +193,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.net7 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet7-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet7-win.binlog displayName: Build StaticLinking.Aot Sample (net7) - pwsh: | @@ -215,14 +215,14 @@ jobs: cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.net7 dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet7-win-nuget-space.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleNet7-win-nuget-space.binlog displayName: Build StaticLinking with nuget space # Embedded mode test (net6) - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.StaticLinking.Embedded dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleEmbedded-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/SampleEmbedded-win.binlog displayName: Build StaticLinking.Embedded Sample (net6) - pwsh: | @@ -239,14 +239,14 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Threads dotnet clean -c Debug /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Debug /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win-debug.binlog + dotnet publish -c Debug /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win-debug.binlog displayName: Build Threading Sample # Thread test - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Threads dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win-release.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win-release.binlog displayName: Build Threading Sample - pwsh: | @@ -263,7 +263,7 @@ jobs: - pwsh: | cd $(build.sourcesdirectory)/src/Uno.Wasm.Threads.Aot dotnet clean -c Release /p:DISABLE_CLIHOST_NET6=true - dotnet publish -c Release /m:1 /nr:false /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win.binlog + dotnet publish -c Release /m:1 /p:DISABLE_CLIHOST_NET6=true /p:WasmShellEmccLinkOptimization=false /bl:$(build.artifactstagingdirectory)/sample.threads-win.binlog displayName: Build Threading AOT Sample - pwsh: |