-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
70 lines (59 loc) · 3.2 KB
/
Directory.Build.props
File metadata and controls
70 lines (59 loc) · 3.2 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
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="General">
<Authors>Xavier John</Authors>
<Company>$(Authors)</Company>
<Copyright>Copyright © $(Company) 2022-2026. All rights reserved.</Copyright>
<NeutralLanguage>en</NeutralLanguage>
<DefaultLanguage>en-US</DefaultLanguage>
<SolutionDir Condition=" '$(SolutionDir)' == '' OR '$(SolutionDir)' == '*Undefined if not building a solution or within Visual Studio*' ">$(MSBuildThisFileDirectory)</SolutionDir>
<IsTestProject>$(MSBuildProjectName.EndsWith('.Tests'))</IsTestProject>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>Latest</LangVersion>
<AnalysisLevel>latest-Recommended</AnalysisLevel>
<RepositoryType>git</RepositoryType>
<AllowMissingPrunePackageData>true</AllowMissingPrunePackageData>
<!-- Trim/AOT analyzers for library compatibility (opt-in) -->
<EnableTrimAnalyzer>true</EnableTrimAnalyzer>
<EnableAotAnalyzer>true</EnableAotAnalyzer>
</PropertyGroup>
<PropertyGroup Label="nuget">
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryUrl>https://github.com/xavierjohn/Trellis.git</RepositoryUrl>
<PackageProjectUrl>https://xavierjohn.github.io/Trellis/</PackageProjectUrl>
<PackageIcon>icon.png</PackageIcon>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup Label="Build">
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
</PropertyGroup>
<PropertyGroup Label="Coverage">
<!-- Exclude generated regex state machines and other obj artifacts from coverage to keep metrics meaningful -->
<ExcludeByFile>$(ExcludeByFile);**/System.Text.RegularExpressions.Generator/**/*.g.cs;**/System.Text.RegularExpressions.Generator/**/*.cs;**/obj/**/RegexGenerator.g.cs</ExcludeByFile>
<Exclude>$(Exclude);[System.Text.RegularExpressions.Generated.*]*</Exclude>
</PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="$(MSBuildProjectName).Tests" />
<PackageReference Include="Nerdbank.GitVersioning" PrivateAssets="all" />
<PackageReference Include="DotNet.ReproducibleBuilds" PrivateAssets="All"/>
<PackageReference Include="Roslynator.Analyzers" PrivateAssets="all" />
</ItemGroup>
<PropertyGroup Condition=" '$(IsTestProject)' == 'false' ">
<RootNamespace>Trellis</RootNamespace>
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
<DebugType>embedded</DebugType>
<!-- Detect breaking changes in library APIs -->
<EnablePackageValidation>true</EnablePackageValidation>
</PropertyGroup>
<ItemGroup Condition=" '$(IsTestProject)' == 'false' ">
<None Include="$(MSBuildThisFileDirectory)icon.png" Pack="true" PackagePath="\" />
</ItemGroup>
<ImportGroup Condition=" '$(IsTestProject)' == 'true' ">
<Import Project="$(MSBuildThisFileDirectory)build/test.props"/>
</ImportGroup>
</Project>