-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathDirectory.Build.props
121 lines (106 loc) · 5.79 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<Project>
<PropertyGroup Label="Project">
<Product>MyCSharp.HttpUserAgentParser</Product>
<Authors>MyCSharp.de, Benjamin Abt, Günther Foidl and Contributors</Authors>
<Company>MyCSharp.de</Company>
</PropertyGroup>
<PropertyGroup Label="Vars">
<IsWindows Condition="$([MSBuild]::IsOSPlatform('Windows'))">true</IsWindows>
<IsOSX Condition="$([MSBuild]::IsOSPlatform('OSX'))">true</IsOSX>
<IsLinux Condition="$([MSBuild]::IsOSPlatform('Linux'))">true</IsLinux>
<IsTestProject>$(MSBuildProjectName.EndsWith('Tests'))</IsTestProject>
<IsUnitTestProject>$(MSBuildProjectName.EndsWith('UnitTests'))</IsUnitTestProject>
<IsIntegrationTestProject>$(MSBuildProjectName.EndsWith('IntegrationTests'))</IsIntegrationTestProject>
<IsBenchmarkProject>$(MsBuildProjectName.EndsWith('Benchmarks'))</IsBenchmarkProject>
</PropertyGroup>
<PropertyGroup Label="Assembly">
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
<RootNamespace>MyCSharp.$(MSBuildProjectName)</RootNamespace>
<AssemblyName>MyCSharp.$(MSBuildProjectName)</AssemblyName>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)MyCSharp.HttpUserAgentParser.snk</AssemblyOriginatorKeyFile>
<PublicKey>
00240000048000009400000006020000002400005253413100040000010001003d5c022c088a46d41d5a5bf7591f3a3dcba30f76b0f43a312b6e45bb419d32283175cbd8bfd83134b123da6db83479e50596fb6bbe0e8c6cef50c01c64a0861c963daaf6905920f44ffe1ce44b3cfcb9c23779f34bc90c7b04e74e36a19bb58af3a69456d49b56993969dba9f8e9e935c2757844a11066d1091477f10cd923b7
</PublicKey>
</PropertyGroup>
<PropertyGroup Label="Compiler">
<LangVersion>preview</LangVersion>
<DebugType>embedded</DebugType>
<Nullable>enable</Nullable>
<DefaultLanguage>en-US</DefaultLanguage>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup Label="Package">
<IsPackable>false</IsPackable>
<NoPackageAnalysis>true</NoPackageAnalysis>
<MinClientVersion>2.12</MinClientVersion>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<Description>HTTP User Agent Parser for .NET</Description>
<PackageProjectUrl>https://github.com/mycsharp/HttpUserAgentParser</PackageProjectUrl>
<RepositoryUrl>https://github.com/mycsharp/HttpUserAgentParser</RepositoryUrl>
<PackageTags>UserAgent, User Agent, Parse, Browser, Client, Detector, Detection, Console, ASP, Desktop, Mobile</PackageTags>
</PropertyGroup>
<PropertyGroup Condition="'$(IsTestProject)' != 'true' AND '$(IsBenchmarkProject)' != 'true'">
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<PropertyGroup Label="Visual Studio">
<!-- https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-5-performance-enhancements/ -->
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
</PropertyGroup>
<PropertyGroup Label="NuGet Audit">
<NuGetAudit>true</NuGetAudit>
<NuGetAuditMode>all</NuGetAuditMode>
<NuGetAuditLevel>low</NuGetAuditLevel>
</PropertyGroup>
<ItemGroup Label="Default Test Dependencies" Condition="'$(IsTestProject)' == 'true'">
<PackageReference Include="Microsoft.NET.Test.Sdk" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.Testing" />
<PackageReference Include="NSubstitute" />
<PackageReference Include="NSubstitute.Analyzers.CSharp">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="xunit.v3" />
<PackageReference Include="xunit.v3.extensibility.core"/>
<PackageReference Include="xunit.v3.assert" />
<PackageReference Include="xunit.runner.console">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="xunit.runner.visualstudio">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup Label="Default Analyzers">
<PackageReference Include="Roslynator.Analyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Roslynator.Formatting.Analyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Roslynator.CodeAnalysis.Analyzers">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" />
<PackageReference Include="Microsoft.CodeAnalysis.Common" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
<PackageReference Include="Meziantou.Analyzer">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
<!-- Block Projects with Privacy/Security/License Concerns -->
<Target Name="CheckBlockedPackages" AfterTargets="ResolvePackageDependenciesForBuild">
<Error Code="420" Text="Blocked package dependency detected: %(PackageDependencies.Identity)"
Condition="'%(PackageDependencies.Identity)' == 'Devlooped.SponsorLink'" />
<Error Code="420" Text="Blocked package dependency detected: %(PackageDependencies.Identity)"
Condition="'%(PackageDependencies.Identity)' == 'FluentAssertions'" />
</Target>
</Project>