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][mt] Fix few libraries projects #97539

Merged
merged 3 commits into from
Jan 26, 2024

Conversation

radekdoulik
Copy link
Member

Add $(NetCoreAppCurrent)-browser TFM to System.Linq.Parallel.csproj and use the platform identifier

Do not set FeatureWasmThreads in ref projects. These were never evaluated to true and we are building different set of these ref libraries in Microsoft.NET.WebAssembly.Threading.proj.

@ghost
Copy link

ghost commented Jan 26, 2024

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

Add $(NetCoreAppCurrent)-browser TFM to System.Linq.Parallel.csproj and use the platform identifier

Do not set FeatureWasmThreads in ref projects. These were never evaluated to true and we are building different set of these ref libraries in Microsoft.NET.WebAssembly.Threading.proj.

Author: radekdoulik
Assignees: radekdoulik
Labels:

area-Infrastructure-libraries

Milestone: -

@radekdoulik
Copy link
Member Author

This is followup PR for #97505

All the libraries should be fine now.

> git grep FeatureWasmThreads .|grep TargetPlatformIdentifier|cut -f1 -d:|while read proj; do echo --- $proj ---; grep \<TargetFramework $proj; done
--- src/libraries/System.Linq.Parallel/src/System.Linq.Parallel.csproj ---
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppCurrent)-browser</TargetFrameworks>
--- src/libraries/System.Net.Http/src/System.Net.Http.csproj ---
    <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-linux;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-freebsd;$(NetCoreAppCurrent)-maccatalyst;$(NetCoreAppCurrent)-ios;$(NetCoreAppCurrent)-tvos;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-wasi;$(NetCoreAppCurrent)-illumos;$(NetCoreAppCurrent)-solaris;$(NetCoreAppCurrent)-haiku;$(NetCoreAppCurrent)-android;$(NetCoreAppCurrent)</TargetFrameworks>
--- src/libraries/System.Net.WebSockets.Client/src/System.Net.WebSockets.Client.csproj ---
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppCurrent)-browser</TargetFrameworks>
--- src/libraries/System.Runtime.InteropServices.JavaScript/src/System.Runtime.InteropServices.JavaScript.csproj ---
    <TargetFrameworks>$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)</TargetFrameworks>
--- src/libraries/System.Runtime.InteropServices.JavaScript/src/System.Runtime.InteropServices.JavaScript.csproj ---
    <TargetFrameworks>$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)</TargetFrameworks>
--- src/libraries/System.Runtime.InteropServices.JavaScript/src/System.Runtime.InteropServices.JavaScript.csproj ---
    <TargetFrameworks>$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)</TargetFrameworks>
--- src/libraries/System.Runtime.InteropServices.JavaScript/tests/System.Runtime.InteropServices.JavaScript.UnitTests/System.Runtime.InteropServices.JavaScript.Tests.csproj ---
    <TargetFrameworks>$(NetCoreAppCurrent)-browser</TargetFrameworks>
--- src/libraries/System.Threading.Tasks.Parallel/src/System.Threading.Tasks.Parallel.csproj ---
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppCurrent)-browser</TargetFrameworks>

and in the src/libraries the TargetOS is now only used in helix related parts and tests

> git grep 'TargetOS.*=.*browser' src/libraries|grep -v test
src/libraries/sendtohelix-browser.targets:        <HelixTargetsFile Condition="'$(TargetOS)' == 'browser'">wasm.helix.targets</HelixTargetsFile>
src/libraries/sendtohelix-wasi.targets:        <HelixTargetsFile Condition="'$(TargetOS)' == 'browser'">wasm.helix.targets</HelixTargetsFile>
src/libraries/sendtohelix.proj:      <_TestUsingWebcilValues Include="true;false" Condition="'$(TargetOS)' == 'browser'" />
src/libraries/sendtohelix.proj:  <Target Condition="'$(Scenarios)' != '' and '$(TargetOS)' != 'browser' and '$(TargetOS)' != 'wasi' and '$(TargetOS)' != 'ios' and '$(TargetOS)' != 'iossimulator'" Name="CreateAllScenarioTestEnvFiles">
src/libraries/sendtohelixhelp.proj:  <Import Project="$(MSBuildThisFileDirectory)sendtohelix-browser.targets" Condition="'$(TargetOS)' == 'browser'" />
src/libraries/sendtohelixhelp.proj:  <Import Project="$(MSBuildThisFileDirectory)sendtohelix-mobile.targets" Condition="'$(TargetsMobile)' == 'true' and '$(TargetOS)' != 'browser' and '$(TargetOS)' != 'wasi'" />
src/libraries/sendtohelixhelp.proj:  <PropertyGroup Condition="'$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi' or '$(TargetOS)' == 'android' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">
src/libraries/sendtohelixhelp.proj:    <EnableXHarnessTelemetry Condition="'$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi'">false</EnableXHarnessTelemetry>
src/libraries/sendtohelixhelp.proj:    <TestEnvFileName Condition=" '$(Scenario)' != '' and '$(TargetOS)' != 'windows' and '$(TargetOS)' != 'browser' and '$(TargetOS)' != 'wasi'">SetStressModes_$(Scenario).sh</TestEnvFileName>

@radekdoulik
Copy link
Member Author

/azp run runtime-wasm

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@radekdoulik
Copy link
Member Author

Build browser-wasm linux Release LibraryTests_Threading_Smoke is #97546

@radekdoulik radekdoulik merged commit 328ef20 into dotnet:main Jan 26, 2024
130 of 137 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Feb 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants