Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wasm] Run AOT, and Wasm.Build.Tests on windows #59479

Merged
merged 34 commits into from
Nov 20, 2021
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
8eb1aad
[wasm] Add support for running AOT, and WBT tests on windows
radical Nov 7, 2021
200f303
[wasm] don't build samples in parallel on windows, to avoid cache issues
radical Nov 7, 2021
82ba001
[wasm] Add jobs for AOT, and WBT tests on windows
radical Nov 7, 2021
fd4f07f
[wasm] Disable failing tests for AOT/windows
radical Nov 7, 2021
44d6b2b
[wasm] restrict WBT to run only on relevant changes
radical Nov 7, 2021
9c2cef8
disable unrelated builds
radical Nov 7, 2021
88fa95c
[wasm] fix check for WBT jobs
radical Nov 7, 2021
dcf08e4
fix
radical Nov 8, 2021
ea57482
Update eng/pipelines/runtime-staging.yml
radical Nov 9, 2021
bfd918f
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 9, 2021
6e8abc4
run WBT/win if there are wbt changes
radical Nov 9, 2021
cfd13b8
Checking that AOT builds do run
radical Nov 9, 2021
058897f
[wasm] Run runtime/wbt also only on wbt changes
radical Nov 9, 2021
4c66b4b
Add back non-wasm builds
radical Nov 10, 2021
3e2e94c
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 10, 2021
059e661
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 10, 2021
00b74ff
Fix command line for windows/AOT tests
radical Nov 11, 2021
cf488d3
[wasm] Use WasmNativeStrip=false to help debug failures
radical Nov 11, 2021
804d8f8
unbreak linux builds
radical Nov 11, 2021
874a40b
Revert "[wasm] Use WasmNativeStrip=false to help debug failures"
radical Nov 11, 2021
5817dbb
Update src/tests/BuildWasmApps/Wasm.Build.Tests/BuildEnvironment.cs
radical Nov 12, 2021
8518a2d
address feedback - use explicit nuget project dir paths
radical Nov 12, 2021
45565ce
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 12, 2021
250cc88
[wasm] Add `PlatformDetection.IsBrowserOnWindows`, and update tests to
radical Nov 12, 2021
29848e1
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 15, 2021
6bc5df8
disable native stripping for tests
radical Nov 15, 2021
90d8622
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 16, 2021
93ce46b
wasm.build.tests: disable native stripping for all the tests
radical Nov 17, 2021
43b0917
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 17, 2021
29a0635
Fix test to track WasmNativeStrip=false
radical Nov 17, 2021
189e45c
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 18, 2021
2698fbf
add the new jobs to runtime-staging.yml too
radical Nov 18, 2021
968effb
Merge remote-tracking branch 'origin/main' into wbt-win-rc2
radical Nov 19, 2021
3453d6f
Fix wasm/windows name suffix, so the cert installation step gets run
radical Nov 19, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion eng/pipelines/common/evaluate-default-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ jobs:
- src/libraries/System.Private.CoreLib/*
- src/libraries/Native/Unix/System.Globalization.Native/*
- src/libraries/Native/Unix/Common/*
- src/tests/BuildWasmApps/*
- src/native/*
exclude:
- eng/Version.Details.xml
Expand Down Expand Up @@ -99,6 +98,17 @@ jobs:
- src/coreclr/vm/*
exclude:
- '*'
- subset: wasmbuildtests
include:
- src/tasks/*
- src/tests/BuildWasmApps/*
- src/mono/wasm/build/*
- src/mono/wasm/runtime/*
- src/mono/nuget/*
- src/mono/mono/*
exclude:
- src/mono/nuget/Microsoft.NET.Runtime.Android.Sample.Mono/*
- src/mono/nuget/Microsoft.NET.Runtime.iOS.Sample.Mono/*
radical marked this conversation as resolved.
Show resolved Hide resolved

- ${{ if ne(parameters.extraSubsets, '') }}:
- ${{ parameters.extraSubsets }}
2 changes: 1 addition & 1 deletion eng/pipelines/common/global-build-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ jobs:
df -h
displayName: Disk Usage before Build

- ${{ if eq(parameters.nameSuffix, 'Browser_wasm_Windows') }}:
- ${{ if contains(parameters.nameSuffix, 'Windows_wasm') }}:
# Update machine certs
- task: PowerShell@2
displayName: Update machine certs
Expand Down
75 changes: 74 additions & 1 deletion eng/pipelines/runtime-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ jobs:
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: Browser_wasm_Windows
nameSuffix: Windows_wasm
buildArgs: -subset mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows
timeoutInMinutes: 180
condition: >-
Expand All @@ -475,6 +475,79 @@ jobs:
eq(variables['monoContainsChange'], true),
eq(variables['isFullMatrix'], true))

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: release
runtimeFlavor: mono
platforms:
- Browser_wasm_win
variables:
# map dependencies variables to local variables
- name: wasmbuildtestsContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: Windows_wasm_WBT
buildArgs: -subset mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows /p:TestWasmBuildTests=true /p:TestAssemblies=false
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true),
eq(variables['isFullMatrix'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:BrowserHost=windows
scenarios:
- buildwasmapps
condition: >-
or(
eq(variables['wasmbuildtestsContainsChange'], true),
eq(variables['isFullMatrix'], true))

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
buildConfig: release
runtimeFlavor: mono
platforms:
- Browser_wasm_win
radical marked this conversation as resolved.
Show resolved Hide resolved
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
- name: monoContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: Windows_wasm_AOT
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=windows /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg)
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isFullMatrix'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
extraStepsParameters:
creator: dotnet-bot
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
extraHelixArguments: /p:BrowserHost=windows /p:NeedsToBuildWasmAppsOnHelix=true $(_runSmokeTestsOnlyArg)
scenarios:
- normal
condition: >-
or(
eq(variables['librariesContainsChange'], true),
eq(variables['monoContainsChange'], true),
eq(variables['isFullMatrix'], true))

#
# CoreCLR Build for running Apple Silicon libraries-innerloop
#
Expand Down
16 changes: 5 additions & 11 deletions eng/pipelines/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -328,24 +328,19 @@ jobs:
buildConfig: Release
runtimeFlavor: mono
platforms:
# BuildWasmApps should only happen on the rolling build. No need to duplicate the build on PR's
- ${{ if eq(variables['isFullMatrix'], true) }}:
- Browser_wasm
- Browser_wasm
variables:
# map dependencies variables to local variables
- name: monoContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
- name: installerContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'] ]
- name: wasmbuildtestsContainsChange
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'] ]
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_WasmBuildTests
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:TestWasmBuildTests=true /p:TestAssemblies=false
timeoutInMinutes: 180
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
eq(dependencies.evaluate_paths.outputs['SetPathVars_wasmbuildtests.containsChange'], true),
eq(variables['isFullMatrix'], true))
# extra steps, run tests
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
Expand All @@ -356,8 +351,7 @@ jobs:
- buildwasmapps
condition: >-
or(
eq(variables['monoContainsChange'], true),
eq(variables['installerContainsChange'], true),
eq(variables['wasmbuildtestsContainsChange'], true),
eq(variables['isFullMatrix'], true))

#
Expand Down
15 changes: 12 additions & 3 deletions eng/testing/tests.wasm.targets
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
<!-- Some tests expect to load satellite assemblies by path, eg. System.Runtime.Loader.Tests,
so, just setting it true by default -->
<IncludeSatelliteAssembliesInVFS Condition="'$(IncludeSatelliteAssembliesInVFS)' == ''">true</IncludeSatelliteAssembliesInVFS>

<_ShellCommandSeparator Condition="'$(OS)' == 'Windows_NT'">&amp;</_ShellCommandSeparator>
<_ShellCommandSeparator Condition="'$(OS)' != 'Windows_NT'">&amp;&amp;</_ShellCommandSeparator>
</PropertyGroup>

<PropertyGroup>
Expand Down Expand Up @@ -38,16 +41,22 @@
</PropertyGroup>

<PropertyGroup Condition="'$(BuildAOTTestsOnHelix)' == 'true'">
<_AOTBuildCommand>_buildAOTFunc publish/ProxyProjectForAOTOnHelix.proj $XHARNESS_OUT/AOTBuild.binlog</_AOTBuildCommand>
<_AOTBuildCommand Condition="'$(BrowserHost)' != 'windows'">dotnet msbuild publish/ProxyProjectForAOTOnHelix.proj</_AOTBuildCommand>
<_AOTBuildCommand Condition="'$(BrowserHost)' == 'windows'">_buildAOTFunc publish/ProxyProjectForAOTOnHelix.proj</_AOTBuildCommand>

<_AOTBuildCommand Condition="'$(BrowserHost)' != 'windows'">$(_AOTBuildCommand) /bl:$XHARNESS_OUT/AOTBuild.binlog</_AOTBuildCommand>
<_AOTBuildCommand Condition="'$(BrowserHost)' == 'windows'">$(_AOTBuildCommand) /bl:%XHARNESS_OUT%/AOTBuild.binlog</_AOTBuildCommand>

<_AOTBuildCommand Condition="'$(BrowserHost)' == 'windows'">$(_AOTBuildCommand) &quot;/p:WasmCachePath=%USERPROFILE%\.emscripten-cache&quot;</_AOTBuildCommand>

<!-- running aot-helix tests locally, so we can test with the same project file as CI -->
<_AOTBuildCommand Condition="'$(ContinuousIntegrationBuild)' != 'true'">$(_AOTBuildCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration)</_AOTBuildCommand>

<_AOTBuildCommand>$(_AOTBuildCommand) /p:RunAOTCompilation=$(RunAOTCompilation)</_AOTBuildCommand>
<_AOTBuildCommand>$(_AOTBuildCommand) &amp;&amp; cd wasm_build/AppBundle</_AOTBuildCommand>
<_AOTBuildCommand>$(_AOTBuildCommand) $(_ShellCommandSeparator) cd wasm_build/AppBundle</_AOTBuildCommand>

<RunScriptCommand Condition="'$(RunScriptCommand)' == ''">$(_AOTBuildCommand)</RunScriptCommand>
<RunScriptCommand Condition="'$(RunScriptCommand)' != ''">$(_AOTBuildCommand) &amp;&amp; $(RunScriptCommand)</RunScriptCommand>
<RunScriptCommand Condition="'$(RunScriptCommand)' != ''">$(_AOTBuildCommand) $(_ShellCommandSeparator) $(RunScriptCommand)</RunScriptCommand>
</PropertyGroup>

<!-- Don't include InTree.props here, because the test projects themselves can set the target* properties -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public class IdnMappingIdnaConformanceTests
/// There are some others that failed which have been commented out and marked in the dataset as "GETASCII DOES FAILS ON WINDOWS 8.1"
/// Same applies to Windows 10 >= 10.0.15063 in the IdnaTest_9.txt file
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/58708", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsMonoAOT), nameof(PlatformDetection.IsWindows))]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how does this work? PlatformDetection.IsBrowser and PlatformDetection.IsWindows can't be both true at the same time.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added PlatformDetection.IsBrowserOnWindows: public static bool IsBrowserOnWindows => IsBrowser && Path.DirectorySeparatorChar == '\\';

Open to suggestions for a better way to do this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open to suggestions for a better way to do this.

I'm not sure if it's "better"... how about User-Agent sniffing ;-)


But more seriously: why does the host platform leak into how the app behaves? Is something host-platform specific leaking through our tooling?

public void GetAscii_Success()
{
Assert.All(Factory.GetDataset().Where(e => e.ASCIIResult.Success), entry =>
Expand Down Expand Up @@ -51,6 +52,7 @@ public void GetAscii_Success()
/// Same applies to Windows 10 >= 10.0.15063 in the IdnaTest_9.txt file
/// </summary>
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/58708", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsMonoAOT), nameof(PlatformDetection.IsWindows))]
public void GetUnicode_Success()
{
Assert.All(Factory.GetDataset().Where(e => e.UnicodeResult.Success && e.UnicodeResult.ValidDomainName), entry =>
Expand Down Expand Up @@ -83,6 +85,7 @@ public void GetUnicode_Success()
/// Same applies to Windows 10 >= 10.0.15063 in the IdnaTest_9.txt file
/// </remarks>
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] // https://github.com/dotnet/runtime/issues/22409
[ActiveIssue("https://github.com/dotnet/runtime/issues/58708", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsMonoAOT), nameof(PlatformDetection.IsWindows))]
public void GetAscii_Invalid()
{
Assert.All(Factory.GetDataset().Where(entry => !entry.ASCIIResult.Success), entry =>
Expand Down Expand Up @@ -112,6 +115,7 @@ public void GetAscii_Invalid()
/// Same applies to Windows 10 >= 10.0.15063 in the IdnaTest_9.txt file
/// </remarks>
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/58708", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsMonoAOT), nameof(PlatformDetection.IsWindows))]
public void GetUnicode_Invalid()
{
Assert.All(Factory.GetDataset().Where(entry => !entry.UnicodeResult.Success), entry =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

namespace System.IO.Tests
{
[ActiveIssue("https://github.com/dotnet/runtime/issues/58707", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsMonoAOT), nameof(PlatformDetection.IsWindows))]
public class FileInfo_CopyTo_str : File_Copy_str_str
{
protected override void Copy(string source, string dest)
Expand Down
7 changes: 6 additions & 1 deletion src/libraries/tests.proj
Original file line number Diff line number Diff line change
Expand Up @@ -400,11 +400,16 @@
BuildInParallel="false" />
</ItemGroup>

<PropertyGroup>
<Samples_BuildInParallel Condition="'$(OS)' == 'Windows_NT'">false</Samples_BuildInParallel>
<Samples_BuildInParallel Condition="'$(OS)' != 'Windows_NT'">true</Samples_BuildInParallel>
</PropertyGroup>

<!-- Don't build samples, and functional tests on EAT, AOT, and WBT lanes -->
<ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(TargetOS)' == 'Browser' and '$(BuildAOTTestsOnHelix)' != 'true' and '$(TestWasmBuildTests)' != 'true'">
<ProjectReference Include="$(MonoProjectRoot)sample\wasm\**\*.Sample.csproj"
Exclude="@(ProjectExclusions)"
BuildInParallel="true" />
BuildInParallel="$(Samples_BuildInParallel)" />
<ProjectReference Include="$(RepoRoot)\src\tests\FunctionalTests\WebAssembly\**\*.Test.csproj"
Exclude="@(ProjectExclusions)"
BuildInParallel="false" />
Expand Down
3 changes: 3 additions & 0 deletions src/mono/wasm/build/WasmApp.Native.targets
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,9 @@
<_DotnetJSSrcFile Include="$(_WasmRuntimePackSrcDir)\*.js" Exclude="$(_WasmRuntimePackSrcDir)\*.iffe.js"/>
<_WasmExtraJSFile Include="$(_WasmRuntimePackSrcDir)\*.iffe.js" Kind="pre-js" />
<_WasmNativeFileForLinking Include="@(NativeFileReference)" />

<EmscriptenEnvVars Include="EMSDK_PYTHON=$(EmscriptenPythonToolsPath)python.exe" Condition="'$(OS)' == 'Windows_NT'" />
<EmscriptenEnvVars Include="EM_CACHE=$(WasmCachePath)" Condition="'$(WasmCachePath)' != ''" />
</ItemGroup>

<Error Text="Could not find NativeFileReference %(NativeFileReference.Identity)" Condition="'%(NativeFileReference.Identity)' != '' and !Exists(%(NativeFileReference.Identity))" />
Expand Down
1 change: 1 addition & 0 deletions src/mono/wasm/build/WasmApp.targets
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@
<_WasmShouldAOT Condition="'$(_WasmShouldAOT)' == ''">false</_WasmShouldAOT>
</PropertyGroup>

<MakeDir Directories="$(WasmCachePath)" Condition="'$(WasmCachePath)' != '' and !Exists($(WasmCachePath))" />
<MakeDir Directories="$(_WasmIntermediateOutputPath)" />
</Target>

Expand Down
6 changes: 6 additions & 0 deletions src/tests/BuildWasmApps/Wasm.Build.Tests/BuildEnvironment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,12 @@ public BuildEnvironment()
EnvVars["MSBuildSDKsPath"] = string.Empty;
EnvVars["PATH"] = $"{sdkForWorkloadPath}{Path.PathSeparator}{Environment.GetEnvironmentVariable("PATH")}";

if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
radical marked this conversation as resolved.
Show resolved Hide resolved
{
EnvVars["WasmCachePath"] = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
".emscripten-cache");
}

RuntimeNativeDir = Path.Combine(RuntimePackDir, "runtimes", "browser-wasm", "native");
DotNet = Path.Combine(sdkForWorkloadPath!, "dotnet");
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@

<RunScriptCommand Condition="'$(ContinuousIntegrationBuild)' == 'true'">$(RunScriptCommand) -nocolor</RunScriptCommand>
<RunScriptCommand Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(XUnitShowProgress)' == 'true'">$(RunScriptCommand) -verbose</RunScriptCommand>
<RunScriptCommand Condition="'$(ContinuousIntegrationBuild)' == 'true' and '$(OS)' == 'Windows_NT'">$(RunScriptCommand) -parallel none</RunScriptCommand>

<RunScriptCommand Condition="'$(XUnitMethodName)' != ''">$(RunScriptCommand) -method $(XUnitMethodName)</RunScriptCommand>
<RunScriptCommand Condition="'$(XUnitClassName)' != ''">$(RunScriptCommand) -class $(XUnitClassName)</RunScriptCommand>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
<_MicrosoftNetCoreAppRefDir>$(AppRefDir)\</_MicrosoftNetCoreAppRefDir>
<LocalFrameworkOverrideName>Microsoft.NETCore.App</LocalFrameworkOverrideName>
</PropertyGroup>
<ItemGroup>
<EmscriptenEnvVars Include="FROZEN_CACHE=" Condition="'$(OS)' == 'Windows_NT'" />
</ItemGroup>

<Target Name="PrintRuntimePackPath" BeforeTargets="Publish">
<Message Text="** MicrosoftNetCoreAppRuntimePackDir : %(ResolvedRuntimePack.PackageDirectory)" Importance="High" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
<Project>
<ItemGroup>
<EmscriptenEnvVars Include="FROZEN_CACHE=" Condition="'$(OS)' == 'Windows_NT'" />
</ItemGroup>

<Target Name="CheckWasmLocalBuildInputs" BeforeTargets="Build">
<Error Condition="'$(RuntimeSrcDir)' == '' and '$(WasmBuildSupportDir)' == ''"
Text="Both %24(RuntimeSrcDir) and %24(WasmBuildSupportDir) are not set. Either one of them needs to be set to use local runtime builds" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
<_MicrosoftNetCoreAppRefDir>$(AppRefDir)\</_MicrosoftNetCoreAppRefDir>
</PropertyGroup>

<ItemGroup>
<EmscriptenEnvVars Include="FROZEN_CACHE=" Condition="'$(OS)' == 'Windows_NT'" />
</ItemGroup>

<Target Name="PrintRuntimePackPath" BeforeTargets="Publish">
<Message Text="** MicrosoftNetCoreAppRuntimePackDir : %(ResolvedRuntimePack.PackageDirectory)" Importance="High" />
</Target>
Expand Down