-
Notifications
You must be signed in to change notification settings - Fork 71
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
75 lines (67 loc) · 4.75 KB
/
Copy pathDirectory.Build.props
File metadata and controls
75 lines (67 loc) · 4.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<PropertyGroup>
<!-- Centralized package metadata that's constant across all SBRP layers
(referencePackages, textOnlyPackages, targetPacks). Per-package values that
used to live in each hand-authored .nuspec are now embedded in the individual
.csproj files; the values below are the only ones that are constant repo-wide. -->
<Authors>Microsoft</Authors>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<IsPackable>true</IsPackable>
<!-- Suppress Arcade's repo-wide license validation. SBRP republishes upstream packages
that may declare licenses other than MIT (Apache-2.0 for the NuGet client packages,
etc.). Arcade compares the repo's LICENSE.txt against each unique
PackageLicenseExpression value across all packable projects and errors when they
don't match — but a single SBRP repo legitimately produces packages under several
different upstream licenses, so the validation can't succeed for all of them. -->
<SuppressLicenseValidation>true</SuppressLicenseValidation>
<!-- Override Arcade defaults: original NuGet packages predominantly do not require
license acceptance and ship without an icon. -->
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<PackageIcon></PackageIcon>
<PackageIconFullPath></PackageIconFullPath>
<!--
Arcade defaults Serviceable to 'true'. Reset it so per-layer Directory.Build.props
(or per-csproj overrides) decide whether to re-assert true. Improves equality with
real packages where <serviceable> isn't always present.
-->
<Serviceable />
<CustomizationsPrefix>Customizations</CustomizationsPrefix>
<CustomizationsPropsFile>$(CustomizationsPrefix).props</CustomizationsPropsFile>
<CustomizationsSourceFile>$(CustomizationsPrefix).cs</CustomizationsSourceFile>
<ArtifactsReferenceOnlyPackagesDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)','ReferenceOnly'))</ArtifactsReferenceOnlyPackagesDir>
<LogVerbosity Condition="'$(LogVerbosity)' == ''">minimal</LogVerbosity>
<!-- Only upgrade NuGetAudit warnings to errors for official builds. -->
<WarningsNotAsErrors Condition="'$(OfficialBuild)' != 'true'">$(WarningsNotAsErrors);NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors>
<!-- Don't use Arcade's ExcludeFrom* or TFM filtering build infra -->
<DisableArcadeExcludeFromBuildSupport>true</DisableArcadeExcludeFromBuildSupport>
<NoTargetFrameworkFiltering>true</NoTargetFrameworkFiltering>
</PropertyGroup>
<!-- Target frameworks that source-build doesn't support/include.
Consumed by the package source generator (TFM filtering) and package validation (baseline framework ignore list).
MSBuild::Escape() prevents wildcard glob expansion when used in ItemGroup Include attributes.
KeepPlaceholder="true" instructs the package source generator to retain placeholder files (_._)
for the excluded target framework even though its assets are otherwise filtered out. This prevents
consumers from incorrectly falling back to another TFM's assembly when the package intentionally
ships no asset for that TFM (e.g. System.Runtime.CompilerServices.Unsafe, where the implementation
was moved inbox). It is only applied to the modern .NET TFM families where such fallbacks matter. -->
<ItemGroup>
<ExcludedTargetFramework Include="$([MSBuild]::Escape('monoandroid*'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('monotouch*'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('net20'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('net35'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('net4*'))" KeepPlaceholder="true" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('net5.0'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('netcore50'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('netcoreapp*'))" KeepPlaceholder="true" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('netstandard1*'))" KeepPlaceholder="true" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('portable*'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('uap*'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('win8'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('win81'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('wp8'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('wpa81'))" />
<ExcludedTargetFramework Include="$([MSBuild]::Escape('xamarin*'))" />
</ItemGroup>
</Project>