Repository navigation
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
85 lines (78 loc) · 4.16 KB
/
Copy pathDirectory.Build.props
File metadata and controls
85 lines (78 loc) · 4.16 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
80
81
82
83
84
85
<Project>
<!--
Language and compilation settings shared by every project in the repository. The repository builds
with the .NET 11 SDK (global.json), and tests, tools and the AOT smoke app run on net11.0.
-->
<PropertyGroup>
<TargetFramework>net11.0</TargetFramework>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
</PropertyGroup>
<!--
Verify 33 fails the build unless the consumer answers its maintenance-fee check. MarkupString is
open source and earns nothing, which is Verify's own OpenSource exemption. The exemption is
time-bounded, at most twelve months out, so this date has to be moved forward (or the answer
changed) before it passes — the build says so when it lapses. Verify's terms:
https://github.com/VerifyTests/Verify/blob/main/docs/maintenance-fee.md
-->
<PropertyGroup>
<Verify_SponsorshipExemption>OpenSource</Verify_SponsorshipExemption>
<Verify_SponsorshipExemptionUntil>2027-09</Verify_SponsorshipExemptionUntil>
</PropertyGroup>
<!--
The shipping packages carry net10.0 as well as net11.0, so clients still on .NET 10 keep restoring
them. TargetFramework is cleared because, while it is set, MSBuild builds only that one framework
and ignores TargetFrameworks.
-->
<PropertyGroup Condition="'$(MSBuildProjectName)' == 'MarkupString'
OR '$(MSBuildProjectName)' == 'MarkupString.Ansi'
OR '$(MSBuildProjectName)' == 'MarkupString.Extensions.DependencyInjection'
OR '$(MSBuildProjectName)' == 'MarkupString.Html'
OR '$(MSBuildProjectName)' == 'MarkupString.Mxp'
OR '$(MSBuildProjectName)' == 'MarkupString.Pueblo'
OR '$(MSBuildProjectName)' == 'MarkupString.Web'">
<TargetFrameworks>net10.0;net11.0</TargetFrameworks>
<TargetFramework></TargetFramework>
</PropertyGroup>
<!--
Package metadata that is identical across the shipping packages. Everything that
differs per package — PackageId, AssemblyName, Description, project references — stays in
the project file. Test and smoke projects set IsPackable=false, so these are inert there.
-->
<PropertyGroup>
<Authors>SharpMUSH</Authors>
<Company>SharpMUSH</Company>
<Copyright>Copyright © MarkupString Contributors 2024-$([System.DateTime]::Now.ToString(yyyy))</Copyright>
<PackageTags>markup;ansi;terminal;html;mxp;pueblo;bbcode;markdown;styled-text;mud;mush</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/SharpMUSH/MarkupString</PackageProjectUrl>
<PackageReleaseNotes>https://github.com/SharpMUSH/MarkupString/blob/main/CHANGELOG.md</PackageReleaseNotes>
<RepositoryUrl>https://github.com/SharpMUSH/MarkupString.git</RepositoryUrl>
<RepositoryType>git</RepositoryType>
</PropertyGroup>
<!--
Reproducibility and consumer tooling. EmbedUntrackedSources plus a snupkg means a consumer
can step into the library from their debugger against the exact commit that produced the
package; ContinuousIntegrationBuild normalises source paths, so it is only correct on CI.
-->
<PropertyGroup>
<Deterministic>true</Deterministic>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<ContinuousIntegrationBuild Condition="'$(CI)' == 'true'">true</ContinuousIntegrationBuild>
</PropertyGroup>
<!--
MinVer is the single source of the version: a `v1.2.3` tag builds 1.2.3, and any other
commit builds the next patch as `-preview.0.N`. The release workflow therefore does NOT
pass /p:Version — it only needs `fetch-depth: 0` so the tag is present to be read.
-->
<PropertyGroup>
<MinVerTagPrefix>v</MinVerTagPrefix>
<MinVerDefaultPreReleaseIdentifiers>preview.0</MinVerDefaultPreReleaseIdentifiers>
</PropertyGroup>
</Project>