-
Notifications
You must be signed in to change notification settings - Fork 40
/
Directory.Build.props
93 lines (76 loc) · 4.45 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
<Project>
<PropertyGroup>
<LangVersion>11.0</LangVersion>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
<AnalysisLevel>7.0</AnalysisLevel>
<!--
Apparently setting AnalysisLevel isn't quite enough to avoid the new warnings we get in .NET SDK 8.0.
This NoWarn line should be removed when we do https://github.com/reaqtive/reaqtor/issues/143 -->
<NoWarn>$(NoWarn);IDE0079;IDE0090;CA1305;CA1822;CA1854</NoWarn>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<DebugType>portable</DebugType>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/reaqtive/reaqtor</PackageProjectUrl>
<PackageOutputPath>$(MSBuildThisFileDirectory)artifacts</PackageOutputPath>
<PackageTags>Reaqtor;Reaqtive;Nuqleon;reactive;reactor</PackageTags>
<Copyright>Copyright (c) .NET Foundation and Contributors.</Copyright>
<Authors>.NET Foundation and Contributors</Authors>
</PropertyGroup>
<PropertyGroup Condition="'$(TF_BUILD)' == 'true' Or '$(GITHUB_ACTIONS)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
<PropertyGroup>
<IsTestProject Condition="'$(IsTestProject)' == ''">false</IsTestProject>
<IsTestProject Condition="$(MSBuildProjectName.StartsWith('Tests.'))">true</IsTestProject>
</PropertyGroup>
<PropertyGroup>
<IsPerfProject Condition="'$(IsPerfProject)' == ''">false</IsPerfProject>
<IsPerfProject Condition="$(MSBuildProjectName.StartsWith('Perf.')) Or $(MSBuildProjectName.EndsWith('.Perf'))">true</IsPerfProject>
</PropertyGroup>
<PropertyGroup>
<IsPlaygroundProject Condition="'$(IsPlaygroundProject)' == ''">false</IsPlaygroundProject>
<IsPlaygroundProject Condition="$(MSBuildProjectName.Contains('Playground'))">true</IsPlaygroundProject>
</PropertyGroup>
<PropertyGroup Condition="'$(IsTestProject)' == 'false' And '$(IsPerfProject)' == 'false' And '$(IsPlaygroundProject)' == 'false'">
<AnalysisMode>All</AnalysisMode>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<GeneratePackageOnBuild Condition=" '$(CreatePackage)' == 'true' ">true</GeneratePackageOnBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(IsTestProject)' == 'true' Or '$(IsPerfProject)' == 'true' Or '$(IsPlaygroundProject)' == 'true'">
<AnalysisMode>Default</AnalysisMode>
<IsPackable>false</IsPackable>
</PropertyGroup>
<PropertyGroup Condition="'$(IsPlaygroundProject)' == 'false'">
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
<PackageReference Include="Nerdbank.GitVersioning" Version="3.6.133" PrivateAssets="all" />
</ItemGroup>
<ItemGroup Condition="'$(IsTestProject)' == 'true'">
<!--
NB: Trying to put these in a .csproj included through ProjectReference results in errors at runtime:
Testhost process exited with error: A fatal error was encountered. The library 'hostpolicy.dll'
required to execute the application was not found in 'C:\Program Files\dotnet'.
Apparently cross-referencing test projects causes 'testhost.runtimeconfig.json' to not get copied
properly to the test project output folder, which then causes the test runner to treat the project
as a "self-contained app".
-->
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
<PackageReference Include="coverlet.collector" Version="6.0.0" PrivateAssets="all" />
<Compile Include="$(MSBuildThisFileDirectory)\Common\TestUtilities\AssertEx.cs" Link="AssertEx.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net472' ">
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup Condition="!$(AssemblyName.StartsWith('Tests.')) And !$(AssemblyName.StartsWith('Perf.')) And !$(AssemblyName.EndsWith('.Perf')) And !$(AssemblyName.Contains('Playground'))">
<InternalsVisibleTo Include="Tests.$(AssemblyName)" />
</ItemGroup>
</Project>