forked from dotnet/winforms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Directory.Build.props
95 lines (79 loc) · 4.72 KB
/
Directory.Build.props
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?xml version="1.0" encoding="utf-8"?>
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="$(RepositoryEngineeringDir)CodeStyle.props" />
<Import Project="$(RepositoryEngineeringDir)FacadeAssemblies.props" />
<Import Project="$(RepositoryEngineeringDir)ApiCompatibility\PublicApiAnalyzer.props" />
<PropertyGroup>
<!-- Remove hardcoded .NET versions when Arcade is upgraded to .NET 9.0. https://github.com/dotnet/winforms/issues/9851-->
<NetMinimum>net8.0</NetMinimum>
<NetPrevious>net8.0</NetPrevious>
<NetCurrent>net8.0</NetCurrent>
<TargetFrameworkName>net</TargetFrameworkName>
<TargetFrameworkMajorVersion>8</TargetFrameworkMajorVersion>
<TargetFrameworkMinorVersion>0</TargetFrameworkMinorVersion>
<TargetFrameworkVersion>$(TargetFrameworkMajorVersion).$(TargetFrameworkMinorVersion)</TargetFrameworkVersion>
<TargetFramework>$(TargetFrameworkName)$(TargetFrameworkVersion)</TargetFramework>
<Product>Microsoft® .NET</Product>
<Copyright>$(CopyrightNetFoundation)</Copyright>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<LangVersion>preview</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<IsAnalyzerProject>false</IsAnalyzerProject>
<IsAnalyzerProject Condition="!$(IsTestProject) and
($(MSBuildProjectName.EndsWith('.Analyzers')) or $(MSBuildProjectName.EndsWith('.Analyzers.CSharp')))"
>true</IsAnalyzerProject>
<EnableTrimAnalyzer>true</EnableTrimAnalyzer>
<EnableTrimAnalyzer Condition="$(IsTestProject) or $(IsAnalyzerProject) or $(MSBuildProjectDirectory.Contains('\tests\'))">false</EnableTrimAnalyzer>
</PropertyGroup>
<!-- Making all tests run sequentially until we regroup tests. Tracked under issue https://github.com/dotnet/winforms/issues/8810. -->
<PropertyGroup Condition="'$(IsTestProject)' == 'true'">
<XUnitCoreSettingsFile>$(RepositoryEngineeringDir)xunit.runner.json</XUnitCoreSettingsFile>
</PropertyGroup>
<!--
Set assembly version to align with major and minor version, as for the patches and revisions should be manually
updated per assembly if it is serviced.
Note, any components that aren't exposed as references in the targeting pack (like analyzers/generators) those should rev
so that they can exist SxS, as the compiler relies on different version to change assembly version for caching purposes.
-->
<PropertyGroup Condition="'$(IsAnalyzerProject)' != 'true'">
<AssemblyVersion>$(MajorVersion).$(MinorVersion).0.0</AssemblyVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(IsAnalyzerProject)' == 'true'">
<IsRoslynComponent>true</IsRoslynComponent>
<!-- Mark it so eng/packageContent.targets knows how to correctly package it -->
<DefineConstants>WINFORMS_ANALYZERS</DefineConstants>
</PropertyGroup>
<!-- SDK flipped to 'true' by default https://github.com/dotnet/sdk/pull/12720 -->
<PropertyGroup>
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
</PropertyGroup>
<!-- Allow SourceLink to work for strongly types resource files (SR) by embedding generated files into the PDBs -->
<PropertyGroup>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
</PropertyGroup>
<!-- For the purposes of generating code coverage as part of the build -->
<PropertyGroup Condition="'$(Coverage)' == 'true'">
<!-- Coverlet's PDB check cannot handle deterministic source paths https://github.com/tonerdo/coverlet/issues/363 -->
<DeterministicSourcePaths>false</DeterministicSourcePaths>
<!-- Note: CoverletOutput references $(TargetDir) so it is set in Directory.Build.targets -->
<!-- https://github.com/tonerdo/coverlet/issues/618 -->
<IncludeTestAssembly>true</IncludeTestAssembly>
<CollectCoverage>true</CollectCoverage>
<SingleHit>true</SingleHit>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<CoverletOutputFormat>opencover</CoverletOutputFormat>
<Include>[System.Windows.*]*</Include>
<!-- Exclude dependencies that embed their symbol information -->
<Exclude>[Microsoft.DotNet.XUnitExtensions]*,[InternalUtilitiesForTests*]*,[xunit*]*</Exclude>
<!-- Exclude anything tagged with Obsolete or with ExcludeFromCodeCoverage !!Avoid using this!! -->
<ExcludeByAttribute>Obsolete,ExcludeFromCodeCoverage</ExcludeByAttribute>
<ExcludeByFile />
</PropertyGroup>
<!-- workaround for package downgrade in Microsoft.NetCore.Platforms -->
<PropertyGroup>
<DisableImplicitNETCorePlatformsReference>true</DisableImplicitNETCorePlatformsReference>
</PropertyGroup>
</Project>