There is no release numbered 1.1.1: the fixes planned for it and Gitea support go out together as 1.2.0 (owner's decision, #200). The README, the CLI guide, ADR 0009, the header of the threat model and a comment in Directory.Build.props still named 1.1.1. docs/RELEASING.md is left to the work on the release pipeline (#197). Closes #218 Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Signed-off-by: James Maes <james@kof22.com>
64 lines
2.9 KiB
XML
64 lines
2.9 KiB
XML
<Project>
|
|
|
|
<!-- KofTwentyTwo .NET quality gate (standards: K22-CODE-CS), from
|
|
KofTwentyTwo/standards configs/dotnet/Directory.Build.props. Every rule fails
|
|
`dotnet build` locally exactly as it fails in CI. -->
|
|
<PropertyGroup>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<LangVersion>latest</LangVersion>
|
|
|
|
<!-- Warnings are errors; analyzers and .editorconfig style run in every build. -->
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
|
|
<AnalysisLevel>latest-recommended</AnalysisLevel>
|
|
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
|
|
<!-- Required for IDE0005 (unused usings) to run during build. CS1591 (missing XML
|
|
doc) stays on for packable projects and is silenced for everything else below. -->
|
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
|
|
<!-- Reproducible builds with source-linked symbols. -->
|
|
<Deterministic>true</Deterministic>
|
|
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
|
<PublishRepositoryUrl>true</PublishRepositoryUrl>
|
|
<IncludeSymbols>true</IncludeSymbols>
|
|
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
|
|
|
|
<!-- Supply chain: audit direct AND transitive packages; pin the whole graph. -->
|
|
<NuGetAudit>true</NuGetAudit>
|
|
<NuGetAuditMode>all</NuGetAuditMode>
|
|
<NuGetAuditLevel>low</NuGetAuditLevel>
|
|
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
|
|
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
|
</PropertyGroup>
|
|
|
|
<!-- CI: normalized paths, and restore must match the committed lock files exactly. -->
|
|
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true' or '$(CI)' == 'true'">
|
|
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
|
|
<RestoreLockedMode>true</RestoreLockedMode>
|
|
</PropertyGroup>
|
|
|
|
<!-- Only shipped libraries must document their public API. -->
|
|
<PropertyGroup Condition="'$(IsPackable)' != 'true'">
|
|
<NoWarn>$(NoWarn);CS1591</NoWarn>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Repository-wide analyzers; versions live in Directory.Packages.props. -->
|
|
<PackageReference Include="Meziantou.Analyzer" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers" />
|
|
</ItemGroup>
|
|
|
|
<!-- Single version source. Local builds are <prefix>-dev; release builds pass an
|
|
explicit -p:Version=<tag-version>, which overrides both parts. The SDK's
|
|
built-in SourceLink appends the git commit as "+<sha>" build metadata on
|
|
AssemblyInformationalVersion, which the About dialog and the CLI's
|
|
version output surface as the short hash. Prefix tracks the next expected
|
|
release: 1.2.0, which carries the fixes that were planned as 1.1.1 and
|
|
Gitea support together (there is no release numbered 1.1.1). -->
|
|
<PropertyGroup>
|
|
<VersionPrefix>1.2.0</VersionPrefix>
|
|
<VersionSuffix>dev</VersionSuffix>
|
|
</PropertyGroup>
|
|
|
|
</Project>
|