ArchiSteamFarm/Directory.Build.props
2023-11-27 13:01:52 +01:00

83 lines
3.9 KiB
XML

<Project>
<PropertyGroup>
<Version>5.5.0.2</Version>
</PropertyGroup>
<PropertyGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
<ApplicationIcon>../resources/ASF.ico</ApplicationIcon>
<Authors>JustArchi</Authors>
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
<Company>JustArchiNET</Company>
<Copyright>Copyright © 2015-$([System.DateTime]::UtcNow.Year) $(Company)</Copyright>
<Description>ASF is a C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.</Description>
<Deterministic>true</Deterministic>
<ErrorReport>none</ErrorReport>
<LangVersion>latest</LangVersion>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<NeutralLanguage>en</NeutralLanguage>
<NoWarn>1591,NU1507</NoWarn>
<Nullable>enable</Nullable>
<PackageIcon>../resources/ASF.ico</PackageIcon>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/$(Company)/ArchiSteamFarm</PackageProjectUrl>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageReleaseNotes>$(PackageProjectUrl)/releases</PackageReleaseNotes>
<RepositoryBranch>main</RepositoryBranch>
<RepositoryType>Git</RepositoryType>
<RepositoryUrl>$(PackageProjectUrl).git</RepositoryUrl>
<RollForward>LatestMajor</RollForward>
<RuntimeIdentifiers>linux-arm;linux-arm64;linux-x64;osx-arm64;osx-x64;win-arm64;win-x64</RuntimeIdentifiers>
<TargetFramework>net8.0</TargetFramework>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>
<PropertyGroup Condition="'$(ASFVariant)' != ''">
<DefineConstants>$(DefineConstants);ASF_VARIANT_$(ASFVariant.Replace('-', '_').ToUpperInvariant())</DefineConstants>
</PropertyGroup>
<!-- Default configuration for fast-debugging builds -->
<PropertyGroup Condition="'$(Configuration)' == 'DebugFast'">
<AnalysisMode>AllDisabledByDefault</AnalysisMode>
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
</PropertyGroup>
<!-- Default configuration for release builds -->
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<DebugSymbols>false</DebugSymbols>
<DebugType>none</DebugType>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsAsErrors />
<WarningsNotAsErrors>CA1863,CS8002,IL2026,IL2057,IL2072,IL2075,IL2104,IL3000</WarningsNotAsErrors>
</PropertyGroup>
<!-- Enable public signing if not part of Visual Studio, which is too stupid to understand what public signing is -->
<PropertyGroup Condition="'$(Configuration)' == 'Release' AND '$(BuildingInsideVisualStudio)' != 'true'">
<AssemblyOriginatorKeyFile>../resources/ArchiSteamFarm.snk.pub</AssemblyOriginatorKeyFile>
<DefineConstants>$(DefineConstants);ASF_SIGNED_BUILD</DefineConstants>
<PublicSign>true</PublicSign>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<!-- Private SNK signing -->
<PropertyGroup Condition="'$(Configuration)' == 'Release' AND EXISTS('resources/ArchiSteamFarm.snk')">
<AssemblyOriginatorKeyFile>../resources/ArchiSteamFarm.snk</AssemblyOriginatorKeyFile>
<DefineConstants>$(DefineConstants);ASF_SIGNED_BUILD</DefineConstants>
<PublicSign>false</PublicSign>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<!-- Trimming functionality as described on https://learn.microsoft.com/dotnet/core/deploying/trimming/trimming-options -->
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<DebuggerSupport>false</DebuggerSupport>
<EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization>
<EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding>
<EventSourceSupport>false</EventSourceSupport>
<HttpActivityPropagationSupport>false</HttpActivityPropagationSupport>
<MetadataUpdaterSupport>false</MetadataUpdaterSupport>
<UseNativeHttpHandler>true</UseNativeHttpHandler>
<TrimMode>partial</TrimMode>
</PropertyGroup>
</Project>