mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-12 02:30:29 +09:00
[wasm] Modify workload to pick threading runtime packs (#72412)
* [wasm] Modify workload to pick threading runtime packs This change adds the 2 wasm threading runtime packs to the wasm workload. In order for a threading runtime pack to be chosen, WorkloadManifest.targets is also modified to override the runtime pack name when the following props are set: WasmEnableThreads - full threading support and will load Microsoft.NETCore.App.Runtime.multithread.Mono.browser-wasm WasmEnablePerfTrace - runtime only threading support and will load Microsoft.NETCore.App.Runtime.perftrace.Mono.browser-wasm * Add error condition when both WasmEnableThreading and WasmEnablePerfTrace are true * [wasm] Set default value for MonoWasmBuildVariant, for runtime pack nuget * [wasm] Wasm.Build.Tests: build runtime pack nugets with different names - The earlier approach of simply making copies of the existing runtime pack nuget with different names doesn't work, and `dotnet workload install` rejects it. ``` Installing pack Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm version 7.0.0-ci... Workload installation failed. Rolling back installed packs... ``` Instead, now we build the missing nugets from the project with different values for `$(MonoWasmBuildVariant)`. - this handles local builds, and incremental builds also - To skip building the missing nugets, for example, when you have all of them available, then set `WasmSkipMissingRuntimePackBuild=true`. * fix comment Co-authored-by: Steve Pfister <steve.pfister@microsoft.com> Co-authored-by: Ankit Jain <radical@gmail.com>
This commit is contained in:
parent
97f5a04928
commit
d7d0e421d7
5 changed files with 114 additions and 20 deletions
|
@ -23,6 +23,17 @@ Example for wasm:
|
|||
|
||||
- Currently, this is used only by `src/tests/BuildWasmApps/Wasm.Build.Tests`
|
||||
|
||||
## Multiple runtime packs
|
||||
|
||||
The workload depends on three runtime packs - single threaded, multithreaded, and for perf tracing. If you have a local
|
||||
runtime build, for say multithreaded, then the workload install will fail because of missing runtime pack nugets for
|
||||
the other two variants.
|
||||
|
||||
For non-CI builds, we build the same runtime pack nuget but with the different expected names. So, essentially you get all
|
||||
the expected nugets, but they are all the same except for the name.
|
||||
|
||||
If you have all the nugets available, and want to avoid the above behavior then set `WasmSkipMissingRuntimeBuild=true`.
|
||||
|
||||
## Limitations:
|
||||
|
||||
- The cross compiler package is built manually from the `InstallWorkloadUsingArtifacts` target
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue