-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
79 lines (67 loc) · 3.59 KB
/
Directory.Build.props
File metadata and controls
79 lines (67 loc) · 3.59 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
71
72
73
74
75
76
77
78
79
<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 T4-generated and source-generated files from coverage to keep metrics meaningful -->
<ExcludeByFile>$(ExcludeByFile);**/*.g.cs;**/System.Text.RegularExpressions.Generator/**/*.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>
<!-- Release hygiene (ga-07) -->
<!-- DotNet.ReproducibleBuilds bundles Microsoft.SourceLink.GitHub and sets
Deterministic, ContinuousIntegrationBuild (under CI), EmbedUntrackedSources.
The properties below cover what it does NOT enable by default. -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
</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>