apps/server/Directory.Build.props
Rama main · réplica de lectura del repositorio original.
<Project>
<!-- Build rules from ADR-0017: nullable warnings are errors, all warnings are errors, latest analyzers. -->
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<WarningsAsErrors>$(WarningsAsErrors);nullable</WarningsAsErrors>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<ImplicitUsings>enable</ImplicitUsings>
<AnalysisLevel>latest-recommended</AnalysisLevel>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<!-- CS1591: public members without XML docs. Docs are written where they explain a decision, not everywhere. -->
<NoWarn>$(NoWarn);CS1591</NoWarn>
<Deterministic>true</Deterministic>
<!-- Symbols inside the assemblies, so a single-file publish is one file. -->
<DebugType>embedded</DebugType>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
<InvariantGlobalization>true</InvariantGlobalization>
<!--
Weir has no localized UI text of its own (the web app's strings are hard-coded English;
the tray's WinForms dialogs are hard-coded English too — grep finds no .resx anywhere in the
repo), so the only thing this drops from a self-contained publish is the framework's own
translated exception/diagnostic strings for cultures other than English, which nothing in Weir
shows to a user. Restricting to "en" keeps that language's resources (the neutral fallback
Weir would use anyway) and removes the ~30 other satellite-resource folders a self-contained
win-x64 publish otherwise carries.
-->
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
<Company>Weir</Company>
<Product>Weir</Product>
<Copyright>Copyright (C) 2026 jampat000 and the Weir contributors</Copyright>
</PropertyGroup>
<!--
A fixed placeholder, not the product version: releases no longer bump it (#804). Every build that
ships stamps its own real version on the command line instead — `-p:Version=X.Y.Z`, taken from the
release tag at build time (packaging/windows/build-velopack.ps1's $buildVersion, the Dockerfile's
WEIR_VERSION build-arg) — so there is nothing left to bump, and nothing here to keep in sync with a
tag. Ordinary builds (a plain `dotnet build`, CI) never pass that override, so they run as this
placeholder; that is fine, since none of them ship. Leave this line alone: bumping it would only
require the four packages.lock.json files that pin a Weir.* project reference at this exact version
(apps/server/src/Weir.Api, apps/server/src/Weir.Host and their test projects) to be regenerated for
no reason.
-->
<PropertyGroup>
<WeirVersion>0.0.1-dev</WeirVersion>
<Version>$(WeirVersion)</Version>
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.EndsWith('.Tests'))">
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
</Project>