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

[browser] Trim globalization code #93473

Merged
merged 14 commits into from
Oct 26, 2023
Merged
2 changes: 2 additions & 0 deletions eng/testing/tests.browser.targets
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
<GetNuGetsToBuildForWorkloadTestingDependsOn>_GetRuntimePackNuGetsToBuild;_GetNugetsForAOT;$(GetNuGetsToBuildForWorkloadTestingDependsOn)</GetNuGetsToBuildForWorkloadTestingDependsOn>
<_BundleAOTTestWasmAppForHelixDependsOn>$(_BundleAOTTestWasmAppForHelixDependsOn);PrepareForWasmBuildApp;_PrepareForAOTOnHelix</_BundleAOTTestWasmAppForHelixDependsOn>
<WasmEnableLegacyJsInterop Condition="'$(WasmEnableLegacyJsInterop)' == ''">true</WasmEnableLegacyJsInterop>
<UseSystemResourceKeys Condition="'$(UseSystemResourceKeys)' == ''">false</UseSystemResourceKeys>
<EventSourceSupport Condition="'$(EventSourceSupport)' == ''">true</EventSourceSupport>
</PropertyGroup>

<!-- We expect WASM users to indicate they would like to have bigger download size by adding WasmIncludeFullIcuData, -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@
<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" />

<ItemGroup>
<TestConsoleAppSourceFiles Include="EventSourcePropertyValueTest.cs" />
<TestConsoleAppSourceFiles Include="EventSourceManifestTest.cs" />
<TestConsoleAppSourceFiles Include="EventSourcePropertyValueTest.cs" >
<EnabledProperties>EventSourceSupport</EnabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="EventSourceManifestTest.cs" >
<EnabledProperties>EventSourceSupport</EnabledProperties>
</TestConsoleAppSourceFiles>
ilonatommy marked this conversation as resolved.
Show resolved Hide resolved
</ItemGroup>

<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.targets))" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
<linker>
<assembly fullname="System.Private.CoreLib">
<type fullname="System.Globalization.GlobalizationMode">
<method signature="System.Boolean get_Hybrid()" body="stub" value="true" feature="System.Globalization.Hybrid" featurevalue="false" />
<method signature="System.Boolean get_Hybrid()" body="stub" value="false" feature="System.Globalization.Hybrid" featurevalue="false" />
</type>
<type fullname="System.Globalization.GlobalizationMode">
<method signature="System.Boolean get_Hybrid()" body="stub" value="true" feature="System.Globalization.Hybrid" featurevalue="true" />
</type>
</assembly>
</linker>
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,26 @@
<TestConsoleAppSourceFiles Include="AppDomainGetThreadWindowsPrincipalTest.cs">
<SkipOnTestRuntimes>osx-x64;linux-x64;browser-wasm</SkipOnTestRuntimes>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="DebuggerTypeProxyAttributeTests.cs" />
<TestConsoleAppSourceFiles Include="DebuggerVisualizerAttributeTests.cs" />
<TestConsoleAppSourceFiles Include="DebuggerTypeProxyAttributeTests.cs" >
<EnabledProperties>DebuggerSupport</EnabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="DebuggerVisualizerAttributeTests.cs" >
<EnabledProperties>DebuggerSupport</EnabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="DefaultValueAttributeCtorTest.cs" />
<TestConsoleAppSourceFiles Include="GenericArraySortHelperTest.cs" />
<TestConsoleAppSourceFiles Include="InheritedAttributeTests.cs" />
<TestConsoleAppSourceFiles Include="InterfacesOnArrays.cs" />
<TestConsoleAppSourceFiles Include="InvariantGlobalizationFalse.cs">
<DisabledFeatureSwitches>System.Globalization.Invariant</DisabledFeatureSwitches>
<EnabledFeatureSwitches>System.Globalization.Hybrid</EnabledFeatureSwitches>
<DisabledProperties>InvariantGlobalization</DisabledProperties>
<EnabledProperties>HybridGlobalization</EnabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="InvariantGlobalizationFalse.cs">
<DisabledFeatureSwitches>System.Globalization.Invariant</DisabledFeatureSwitches>
<DisabledProperties>InvariantGlobalization</DisabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="InvariantGlobalizationTrue.cs">
<DisabledFeatureSwitches>System.Globalization.Hybrid</DisabledFeatureSwitches>
<EnabledFeatureSwitches>System.Globalization.Invariant;System.Globalization.PredefinedCulturesOnly</EnabledFeatureSwitches>
<DisabledProperties>HybridGlobalization</DisabledProperties>
<EnabledProperties>InvariantGlobalization;PredefinedCulturesOnly</EnabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="StackFrameHelperTest.cs">
<!-- There is a bug with the linker where it is corrupting the pdbs while trimming
Expand All @@ -39,16 +43,16 @@
<TestConsoleAppSourceFiles Include="VerifyResourcesGetTrimmedTest.cs">
<!-- Setting the Trimming feature switch to make sure that the Resources get trimmed by the trimmer
as this test will ensure exceptions are using Resource keys -->
<EnabledFeatureSwitches>System.Resources.UseSystemResourceKeys</EnabledFeatureSwitches>
<EnabledProperties>UseSystemResourceKeys</EnabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="TypeBuilderComDisabled.cs">
<DisabledFeatureSwitches>System.Runtime.InteropServices.BuiltInComInterop.IsSupported</DisabledFeatureSwitches>
<DisabledProperties>BuiltInComInteropSupport</DisabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="NullabilityInfoContextSupportFalse.cs">
<DisabledFeatureSwitches>System.Reflection.NullabilityInfoContext.IsSupported</DisabledFeatureSwitches>
<DisabledProperties>NullabilityInfoContextSupport</DisabledProperties>
</TestConsoleAppSourceFiles>
<TestConsoleAppSourceFiles Include="NullabilityInfoContextSupportTrue.cs">
<EnabledFeatureSwitches>System.Reflection.NullabilityInfoContext.IsSupported</EnabledFeatureSwitches>
<EnabledProperties>NullabilityInfoContextSupport</EnabledProperties>
</TestConsoleAppSourceFiles>
</ItemGroup>
<ItemGroup Condition="'$(TargetsWindows)' == 'true'">
Expand Down
6 changes: 3 additions & 3 deletions src/mono/wasm/Wasm.Build.Tests/IcuTestsBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ protected void TestIcuShards(BuildArgs buildArgs, string shardName, string teste
bool dotnetWasmFromRuntimePack = !(buildArgs.AOT || buildArgs.Config == "Release");

buildArgs = buildArgs with { ProjectName = projectName };
string extraProperties = onlyPredefinedCultures ?
$"<WasmIcuDataFileName>{shardName}</WasmIcuDataFileName><PredefinedCulturesOnly>true</PredefinedCulturesOnly>" :
$"<WasmIcuDataFileName>{shardName}</WasmIcuDataFileName>";
string extraProperties = $"<WasmIcuDataFileName>{shardName}</WasmIcuDataFileName><UseSystemResourceKeys>false</UseSystemResourceKeys>";
if (onlyPredefinedCultures)
extraProperties = $"{extraProperties}<PredefinedCulturesOnly>true</PredefinedCulturesOnly>";
buildArgs = ExpandBuildArgs(buildArgs, extraProperties: extraProperties);

string programText = GetProgramText(testedLocales, onlyPredefinedCultures);
Expand Down
14 changes: 13 additions & 1 deletion src/mono/wasm/build/WasmApp.targets
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,19 @@
<WasmStripILAfterAOT Condition="'$(WasmStripILAfterAOT)' == ''">false</WasmStripILAfterAOT>

<WasmRuntimeAssetsLocation Condition="'$(WasmRuntimeAssetsLocation)' == ''">_framework</WasmRuntimeAssetsLocation>
<BlazorCacheBootResources Condition="'$(BlazorCacheBootResources)' == ''">true</BlazorCacheBootResources>

ilonatommy marked this conversation as resolved.
Show resolved Hide resolved
<!-- Runtime feature defaults to trim unnecessary code -->
ilonatommy marked this conversation as resolved.
Show resolved Hide resolved
<InvariantTimezone Condition="'$(InvariantTimezone)' == ''">false</InvariantTimezone>
<HybridGlobalization Condition="'$(HybridGlobalization)' == ''">false</HybridGlobalization>
<InvariantGlobalization Condition="'$(InvariantGlobalization)' == ''">false</InvariantGlobalization>
<EventSourceSupport Condition="'$(EventSourceSupport)' == ''">false</EventSourceSupport>
<UseSystemResourceKeys Condition="'$(UseSystemResourceKeys)' == ''">true</UseSystemResourceKeys>
<EnableUnsafeUTF7Encoding Condition="'$(EnableUnsafeUTF7Encoding)' == ''">false</EnableUnsafeUTF7Encoding>
<HttpActivityPropagationSupport Condition="'$(HttpActivityPropagationSupport)' == ''">false</HttpActivityPropagationSupport>
<NullabilityInfoContextSupport Condition="'$(NullabilityInfoContextSupport)' == ''">false</NullabilityInfoContextSupport>
<_AggressiveAttributeTrimming Condition="'$(_AggressiveAttributeTrimming)' == ''">true</_AggressiveAttributeTrimming>
<DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(Configuration)' != 'Debug'">false</DebuggerSupport>
<WasmFingerprintDotnetJs Condition="'$(WasmFingerprintDotnetJs)' == ''">false</WasmFingerprintDotnetJs>
ilonatommy marked this conversation as resolved.
Show resolved Hide resolved
</PropertyGroup>

<ItemGroup>
Expand Down
Loading