Skip to content

Commit d97646d

Browse files
authored
Make TrimmerDefaultAction public (#16865)
* Make TrimmerDefaultAction public Fixes #16140 Relevant for dotnet/docs#23766 * Don't suppress trim warnings when default action is link * Move SuppressTrimAnalysisWarnings to targets So that the condition takes into account properties set in the project file.
1 parent a6564d4 commit d97646d

File tree

6 files changed

+13
-9
lines changed

6 files changed

+13
-9
lines changed

src/BlazorWasmSdk/Targets/Microsoft.NET.Sdk.BlazorWebAssembly.Current.props

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ Copyright (c) .NET Foundation. All rights reserved.
3131
<PublishTrimmed Condition="'$(PublishTrimmed)' == ''">true</PublishTrimmed>
3232
<TrimMode Condition="'$(TrimMode)' == ''">link</TrimMode>
3333
<TrimmerRemoveSymbols Condition="'$(TrimmerRemoveSymbols)' == ''">false</TrimmerRemoveSymbols>
34-
<SuppressTrimAnalysisWarnings Condition="'$(SuppressTrimAnalysisWarnings)' == ''">true</SuppressTrimAnalysisWarnings>
3534
</PropertyGroup>
3635

3736
<Import Sdk="Microsoft.NET.Sdk.Razor" Project="Sdk.props" />

src/BlazorWasmSdk/Targets/Microsoft.NET.Sdk.BlazorWebAssembly.Current.targets

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ Copyright (c) .NET Foundation. All rights reserved.
6161
<StaticWebAssetBasePath Condition="'$(StaticWebAssetBasePath)' == ''">/</StaticWebAssetBasePath>
6262
<BlazorCacheBootResources Condition="'$(BlazorCacheBootResources)' == ''">true</BlazorCacheBootResources>
6363

64+
<!-- Trimmer defaults that depend on user-definable settings -->
65+
<SuppressTrimAnalysisWarnings Condition="'$(SuppressTrimAnalysisWarnings)' == '' And '$(TrimmerDefaultAction)' != 'link'">true</SuppressTrimAnalysisWarnings>
66+
6467
<!-- Turn off parts of the build that do not apply to WASM projects -->
6568
<GenerateDependencyFile>false</GenerateDependencyFile>
6669
<GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles>

src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.ILLink.targets

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ Copyright (c) .NET Foundation. All rights reserved.
4848
<PropertyGroup Condition="'$(SuppressTrimAnalysisWarnings)' == '' And ('$(EnableTrimAnalyzer)' == 'true' Or '$(PublishTrimmed)' == 'true')">
4949
<!-- Trim analysis warnings are suppressed for .NET < 6. -->
5050
<SuppressTrimAnalysisWarnings Condition="$([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '6.0'))">true</SuppressTrimAnalysisWarnings>
51-
<!-- Suppress for WPF/WinForms -->
52-
<SuppressTrimAnalysisWarnings Condition="'$(UseWpf)' == 'true' Or '$(UseWindowsForms)' == 'true'">true</SuppressTrimAnalysisWarnings>
51+
<!-- Suppress for WPF/WinForms (unless linking everything) -->
52+
<SuppressTrimAnalysisWarnings Condition="'$(TrimmerDefaultAction)' != 'link' And ('$(UseWpf)' == 'true' Or '$(UseWindowsForms)' == 'true')">true</SuppressTrimAnalysisWarnings>
5353
<!-- Otherwise, for .NET 6+, warnings are on by default -->
5454
<SuppressTrimAnalysisWarnings Condition="'$(SuppressTrimAnalysisWarnings)' == ''">false</SuppressTrimAnalysisWarnings>
5555
</PropertyGroup>
@@ -128,7 +128,7 @@ Copyright (c) .NET Foundation. All rights reserved.
128128
ReferenceAssemblyPaths="@(ReferencePath)"
129129
RootAssemblyNames="@(TrimmerRootAssembly)"
130130
TrimMode="$(TrimMode)"
131-
DefaultAction="$(_TrimmerDefaultAction)"
131+
DefaultAction="$(TrimmerDefaultAction)"
132132
RemoveSymbols="$(TrimmerRemoveSymbols)"
133133
FeatureSettings="@(_TrimmerFeatureSettings)"
134134
CustomData="@(_TrimmerCustomData)"
@@ -193,12 +193,12 @@ Copyright (c) .NET Foundation. All rights reserved.
193193
<PropertyGroup Condition=" $([MSBuild]::VersionLessThan('$(TargetFrameworkVersion)', '6.0')) ">
194194
<TrimMode Condition=" '$(TrimMode)' == '' ">copyused</TrimMode>
195195
<!-- Action is the same regardless of whether the assembly has an IsTrimmable attribute. (The attribute didn't exist until .NET 6.) -->
196-
<_TrimmerDefaultAction>$(TrimMode)</_TrimmerDefaultAction>
196+
<TrimmerDefaultAction>$(TrimMode)</TrimmerDefaultAction>
197197
</PropertyGroup>
198198
<PropertyGroup>
199199
<TrimMode Condition=" '$(TrimMode)' == '' ">link</TrimMode>
200200
<!-- For .NET 6+, assemblies without IsTrimmable attribute get the "copy" action. -->
201-
<_TrimmerDefaultAction Condition=" '$(_TrimmerDefaultAction)' == '' ">copy</_TrimmerDefaultAction>
201+
<TrimmerDefaultAction Condition=" '$(TrimmerDefaultAction)' == '' ">copy</TrimmerDefaultAction>
202202
<ILLinkTreatWarningsAsErrors Condition=" '$(ILLinkTreatWarningsAsErrors)' == '' ">$(TreatWarningsAsErrors)</ILLinkTreatWarningsAsErrors>
203203
<_ExtraTrimmerArgs>--skip-unresolved true $(_ExtraTrimmerArgs)</_ExtraTrimmerArgs>
204204
<TrimmerSingleWarn Condition=" '$(TrimmerSingleWarn)' == '' ">true</TrimmerSingleWarn>
@@ -290,7 +290,7 @@ Copyright (c) .NET Foundation. All rights reserved.
290290
<TrimMode>$(TrimMode)</TrimMode>
291291
</ManagedAssemblyToLink>
292292
<ManagedAssemblyToLink Condition=" '%(ManagedAssemblyToLink.IsTrimmable)' == 'false' And '%(ManagedAssemblyToLink.TrimMode)' == '' ">
293-
<TrimMode>$(_TrimmerDefaultAction)</TrimMode>
293+
<TrimMode>$(TrimmerDefaultAction)</TrimMode>
294294
</ManagedAssemblyToLink>
295295
</ItemGroup>
296296

src/Tests/Microsoft.NET.Publish.Tests/GivenThatWeWantToRunILLink.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1370,7 +1370,7 @@ private void SetTrimmerDefaultAction(XDocument project, string action)
13701370

13711371
var properties = new XElement(ns + "PropertyGroup");
13721372
project.Root.Add(properties);
1373-
properties.Add(new XElement(ns + "_TrimmerDefaultAction", action));
1373+
properties.Add(new XElement(ns + "TrimmerDefaultAction", action));
13741374
}
13751375

13761376
private void EnableNonFrameworkTrimming(XDocument project)

src/WebSdk/Web/Sdk/Sdk.props

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ Copyright (c) .NET Foundation. All rights reserved.
2121
<!-- Default properties that shouldn't be replaced by the microsoft.net.sdk.props -->
2222
<PropertyGroup>
2323
<DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols>
24-
<SuppressTrimAnalysisWarnings Condition="'$(SuppressTrimAnalysisWarnings)' == ''">true</SuppressTrimAnalysisWarnings>
2524
</PropertyGroup>
2625

2726
<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" />

src/WebSdk/Web/Sdk/Sdk.targets

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ Copyright (c) .NET Foundation. All rights reserved.
2222
Microsoft.AspNetCore.App. This needs to happen after the .NET SDK has evaluated TFMs.
2323
-->
2424
<AddRazorSupportForMvc Condition="'$(DisableImplicitFrameworkReferences)' != 'true' And '$(AddRazorSupportForMvc)' == '' And '$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(_TargetFrameworkVersionWithoutV)' >= '3.0'">true</AddRazorSupportForMvc>
25+
26+
<!-- Trimmer defaults that depend on user-definable settings -->
27+
<SuppressTrimAnalysisWarnings Condition="'$(SuppressTrimAnalysisWarnings)' == '' And '$(TrimmerDefaultAction)' != 'link'">true</SuppressTrimAnalysisWarnings>
2528
</PropertyGroup>
2629

2730
<Import Sdk="Microsoft.NET.Sdk.Razor" Project="Sdk.targets" />

0 commit comments

Comments
 (0)