|
1 | 1 | <Project>
|
| 2 | + <PropertyGroup Label="Project"> |
| 3 | + <Product>MyCSharp.HttpUserAgentParser</Product> |
| 4 | + <Authors>MyCSharp.de, Benjamin Abt, Günther Foidl and Contributors</Authors> |
| 5 | + <Company>MyCSharp.de</Company> |
| 6 | + </PropertyGroup> |
2 | 7 |
|
3 |
| - <PropertyGroup> |
4 |
| - <Authors>MyCSharp.de, Benjamin Abt, Günther Foidl and Contributors</Authors> |
5 |
| - <Product>MyCSharp.HttpUserAgentParser</Product> |
6 |
| - <DefaultLanguage>en-US</DefaultLanguage> |
7 |
| - <NoPackageAnalysis>true</NoPackageAnalysis> |
8 |
| - <DebugType>embedded</DebugType> |
9 |
| - </PropertyGroup> |
10 |
| - |
11 |
| - <PropertyGroup Label="Env"> |
12 |
| - |
13 |
| - <IsTestProject>$(MSBuildProjectName.Contains('Test'))</IsTestProject> |
14 |
| - <IsBenchmarkProject>$(MsBuildProjectName.Contains('Benchmark'))</IsBenchmarkProject> |
15 |
| - </PropertyGroup> |
16 |
| - |
17 |
| - <PropertyGroup Label="Package"> |
18 |
| - <PackageProjectUrl>https://github.com/mycsharp/HttpUserAgentParser</PackageProjectUrl> |
19 |
| - <PublishRepositoryUrl>true</PublishRepositoryUrl> |
20 |
| - <Description>HTTP User Agent Parser for .NET</Description> |
21 |
| - <MinClientVersion>2.12</MinClientVersion> |
22 |
| - <IsPackable>false</IsPackable> |
23 |
| - <PackageTags>UserAgent, User Agent, Parse, Browser, Client, Detector, Detection, Console, ASP, Desktop, Mobile</PackageTags> |
24 |
| - <EmbedUntrackedSources>true</EmbedUntrackedSources> |
25 |
| - </PropertyGroup> |
26 |
| - |
27 |
| - <PropertyGroup Label="Project Defaults"> |
28 |
| - <TargetFrameworks>net8.0;net9.0</TargetFrameworks> |
29 |
| - </PropertyGroup> |
30 |
| - |
31 |
| - <PropertyGroup Label="C#"> |
32 |
| - <LangVersion>12.0</LangVersion> |
33 |
| - <Nullable>enable</Nullable> |
34 |
| - <ImplicitUsings>enable</ImplicitUsings> |
35 |
| - <TreatWarningsAsErrors>true</TreatWarningsAsErrors> |
36 |
| - </PropertyGroup> |
37 |
| - |
38 |
| - <PropertyGroup Condition="'$(IsTestProject)' != 'true' AND '$(IsBenchmarkProject)' != 'true'"> |
39 |
| - <GenerateDocumentationFile Condition="'$(Configuration)' == 'Release'">true</GenerateDocumentationFile> |
40 |
| - </PropertyGroup> |
41 |
| - |
42 |
| - <PropertyGroup> |
43 |
| - <SignAssembly>true</SignAssembly> |
44 |
| - <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)MyCSharp.HttpUserAgentParser.snk</AssemblyOriginatorKeyFile> |
45 |
| - |
46 |
| - <PublicKey>00240000048000009400000006020000002400005253413100040000010001003d5c022c088a46d41d5a5bf7591f3a3dcba30f76b0f43a312b6e45bb419d32283175cbd8bfd83134b123da6db83479e50596fb6bbe0e8c6cef50c01c64a0861c963daaf6905920f44ffe1ce44b3cfcb9c23779f34bc90c7b04e74e36a19bb58af3a69456d49b56993969dba9f8e9e935c2757844a11066d1091477f10cd923b7</PublicKey> |
47 |
| - </PropertyGroup> |
48 |
| - |
49 |
| - <!-- Block Projects with Privacy/Security Concerns --> |
50 |
| - <Target Name="CheckBlockedPackages" AfterTargets="ResolvePackageDependenciesForBuild"> |
51 |
| - <Error Code="420" Text="Blocked package dependency detected: %(PackageDependencies.Identity)" |
52 |
| - Condition="'%(PackageDependencies.Identity)' == 'Devlooped.SponsorLink'" /> |
53 |
| - </Target> |
| 8 | + <PropertyGroup Label="Vars"> |
| 9 | + <IsWindows Condition="$([MSBuild]::IsOSPlatform('Windows'))">true</IsWindows> |
| 10 | + <IsOSX Condition="$([MSBuild]::IsOSPlatform('OSX'))">true</IsOSX> |
| 11 | + <IsLinux Condition="$([MSBuild]::IsOSPlatform('Linux'))">true</IsLinux> |
| 12 | + |
| 13 | + <IsTestProject>$(MSBuildProjectName.EndsWith('Tests'))</IsTestProject> |
| 14 | + <IsUnitTestProject>$(MSBuildProjectName.EndsWith('UnitTests'))</IsUnitTestProject> |
| 15 | + <IsIntegrationTestProject>$(MSBuildProjectName.EndsWith('IntegrationTests'))</IsIntegrationTestProject> |
| 16 | + <IsBenchmarkProject>$(MsBuildProjectName.EndsWith('Benchmarks'))</IsBenchmarkProject> |
| 17 | + </PropertyGroup> |
| 18 | + |
| 19 | + <PropertyGroup Label="Assembly"> |
| 20 | + <TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks> |
| 21 | + <RootNamespace>MyCSharp.$(MSBuildProjectName)</RootNamespace> |
| 22 | + <AssemblyName>MyCSharp.$(MSBuildProjectName)</AssemblyName> |
| 23 | + </PropertyGroup> |
| 24 | + |
| 25 | + <PropertyGroup> |
| 26 | + <SignAssembly>true</SignAssembly> |
| 27 | + <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)MyCSharp.HttpUserAgentParser.snk</AssemblyOriginatorKeyFile> |
| 28 | + |
| 29 | + <PublicKey> |
| 30 | + 00240000048000009400000006020000002400005253413100040000010001003d5c022c088a46d41d5a5bf7591f3a3dcba30f76b0f43a312b6e45bb419d32283175cbd8bfd83134b123da6db83479e50596fb6bbe0e8c6cef50c01c64a0861c963daaf6905920f44ffe1ce44b3cfcb9c23779f34bc90c7b04e74e36a19bb58af3a69456d49b56993969dba9f8e9e935c2757844a11066d1091477f10cd923b7 |
| 31 | + </PublicKey> |
| 32 | + </PropertyGroup> |
| 33 | + |
| 34 | + <PropertyGroup Label="Compiler"> |
| 35 | + <LangVersion>preview</LangVersion> |
| 36 | + <DebugType>embedded</DebugType> |
| 37 | + <Nullable>enable</Nullable> |
| 38 | + <DefaultLanguage>en-US</DefaultLanguage> |
| 39 | + <ImplicitUsings>enable</ImplicitUsings> |
| 40 | + <TreatWarningsAsErrors>true</TreatWarningsAsErrors> |
| 41 | + </PropertyGroup> |
| 42 | + |
| 43 | + <PropertyGroup Label="Package"> |
| 44 | + <IsPackable>false</IsPackable> |
| 45 | + <NoPackageAnalysis>true</NoPackageAnalysis> |
| 46 | + <MinClientVersion>2.12</MinClientVersion> |
| 47 | + <EmbedUntrackedSources>true</EmbedUntrackedSources> |
| 48 | + |
| 49 | + <Description>HTTP User Agent Parser for .NET</Description> |
| 50 | + <PackageProjectUrl>https://github.com/mycsharp/HttpUserAgentParser</PackageProjectUrl> |
| 51 | + <RepositoryUrl>https://github.com/mycsharp/HttpUserAgentParser</RepositoryUrl> |
| 52 | + <PackageTags>UserAgent, User Agent, Parse, Browser, Client, Detector, Detection, Console, ASP, Desktop, Mobile</PackageTags> |
| 53 | + </PropertyGroup> |
| 54 | + |
| 55 | + <PropertyGroup Condition="'$(IsTestProject)' != 'true' AND '$(IsBenchmarkProject)' != 'true'"> |
| 56 | + <GenerateDocumentationFile>true</GenerateDocumentationFile> |
| 57 | + </PropertyGroup> |
| 58 | + |
| 59 | + <PropertyGroup Label="Visual Studio"> |
| 60 | + <!-- https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-5-performance-enhancements/ --> |
| 61 | + <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio> |
| 62 | + </PropertyGroup> |
| 63 | + |
| 64 | + <PropertyGroup Label="NuGet Audit"> |
| 65 | + <NuGetAudit>true</NuGetAudit> |
| 66 | + <NuGetAuditMode>all</NuGetAuditMode> |
| 67 | + <NuGetAuditLevel>low</NuGetAuditLevel> |
| 68 | + </PropertyGroup> |
| 69 | + |
| 70 | + <ItemGroup Label="Default Test Dependencies" Condition="'$(IsTestProject)' == 'true'"> |
| 71 | + <PackageReference Include="Microsoft.NET.Test.Sdk" /> |
| 72 | + <PackageReference Include="Microsoft.Extensions.Diagnostics.Testing" /> |
| 73 | + <PackageReference Include="NSubstitute" /> |
| 74 | + <PackageReference Include="NSubstitute.Analyzers.CSharp"> |
| 75 | + <PrivateAssets>all</PrivateAssets> |
| 76 | + <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
| 77 | + </PackageReference> |
| 78 | + <PackageReference Include="xunit.v3" /> |
| 79 | + <PackageReference Include="xunit.v3.extensibility.core"/> |
| 80 | + <PackageReference Include="xunit.v3.assert" /> |
| 81 | + <PackageReference Include="xunit.runner.console"> |
| 82 | + <PrivateAssets>all</PrivateAssets> |
| 83 | + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |
| 84 | + </PackageReference> |
| 85 | + <PackageReference Include="xunit.runner.visualstudio"> |
| 86 | + <PrivateAssets>all</PrivateAssets> |
| 87 | + <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> |
| 88 | + </PackageReference> |
| 89 | + </ItemGroup> |
| 90 | + |
| 91 | + <ItemGroup Label="Default Analyzers"> |
| 92 | + <PackageReference Include="Roslynator.Analyzers"> |
| 93 | + <PrivateAssets>all</PrivateAssets> |
| 94 | + <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
| 95 | + </PackageReference> |
| 96 | + <PackageReference Include="Roslynator.Formatting.Analyzers"> |
| 97 | + <PrivateAssets>all</PrivateAssets> |
| 98 | + <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
| 99 | + </PackageReference> |
| 100 | + <PackageReference Include="Roslynator.CodeAnalysis.Analyzers"> |
| 101 | + <PrivateAssets>all</PrivateAssets> |
| 102 | + <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
| 103 | + </PackageReference> |
| 104 | + <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" /> |
| 105 | + <PackageReference Include="Microsoft.CodeAnalysis.Common" /> |
| 106 | + <PackageReference Include="Microsoft.CodeAnalysis.CSharp" /> |
| 107 | + <PackageReference Include="Meziantou.Analyzer"> |
| 108 | + <PrivateAssets>all</PrivateAssets> |
| 109 | + <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
| 110 | + </PackageReference> |
| 111 | + </ItemGroup> |
| 112 | + |
| 113 | + <!-- Block Projects with Privacy/Security/License Concerns --> |
| 114 | + <Target Name="CheckBlockedPackages" AfterTargets="ResolvePackageDependenciesForBuild"> |
| 115 | + <Error Code="420" Text="Blocked package dependency detected: %(PackageDependencies.Identity)" |
| 116 | + Condition="'%(PackageDependencies.Identity)' == 'Devlooped.SponsorLink'" /> |
| 117 | + <Error Code="420" Text="Blocked package dependency detected: %(PackageDependencies.Identity)" |
| 118 | + Condition="'%(PackageDependencies.Identity)' == 'FluentAssertions'" /> |
| 119 | + </Target> |
54 | 120 |
|
55 | 121 | </Project>
|
0 commit comments