chore(deps): update wiki digest to 17137f3
[ArchiSteamFarm.git] / Directory.Build.props
blob5bdb6f415455ae0dfde2ecb394b0bff84dbfad5e
1 <Project>
2         <PropertyGroup>
3                 <Version>6.1.2.0</Version>
4         </PropertyGroup>
6         <PropertyGroup>
7                 <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
8                 <AnalysisMode>AllEnabledByDefault</AnalysisMode>
9                 <ApplicationIcon>../resources/ASF.ico</ApplicationIcon>
10                 <Authors>JustArchi</Authors>
11                 <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
12                 <Company>JustArchiNET</Company>
13                 <Copyright>Copyright © 2015-$([System.DateTime]::UtcNow.Year) $(Company)</Copyright>
14                 <Description>ASF is a C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.</Description>
15                 <Deterministic>true</Deterministic>
16                 <ErrorReport>none</ErrorReport>
17                 <LangVersion>latest</LangVersion>
18                 <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
19                 <NeutralLanguage>en</NeutralLanguage>
20                 <NoWarn>CS1591</NoWarn>
21                 <Nullable>enable</Nullable>
22                 <PackageIcon>../resources/ASF.ico</PackageIcon>
23                 <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
24                 <PackageProjectUrl>https://github.com/$(Company)/ArchiSteamFarm</PackageProjectUrl>
25                 <PackageReadmeFile>README.md</PackageReadmeFile>
26                 <PackageReleaseNotes>$(PackageProjectUrl)/releases</PackageReleaseNotes>
27                 <RepositoryBranch>main</RepositoryBranch>
28                 <RepositoryType>Git</RepositoryType>
29                 <RepositoryUrl>$(PackageProjectUrl).git</RepositoryUrl>
30                 <RollForward>LatestMajor</RollForward>
31                 <RuntimeIdentifiers>linux-arm;linux-arm64;linux-x64;osx-arm64;osx-x64;win-arm64;win-x64</RuntimeIdentifiers>
32                 <TargetFramework>net9.0</TargetFramework>
33                 <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
35                 <!-- TODO: Workaround for https://github.com/dotnet/runtime/issues/110000, evaluate if possible to remove later -->
36                 <CETCompat>false</CETCompat>
37         </PropertyGroup>
39         <PropertyGroup Condition="'$(ASFVariant)' != ''">
40                 <DefineConstants>$(DefineConstants);ASF_VARIANT_$(ASFVariant.Replace('-', '_').ToUpperInvariant())</DefineConstants>
41         </PropertyGroup>
43         <PropertyGroup Condition="'$(PublishTrimmed)' == 'true'">
44                 <DefineConstants>$(DefineConstants);ASF_RUNTIME_TRIMMED</DefineConstants>
46                 <!-- Required for protobuf-net -->
47                 <_DefaultValueAttributeSupport>true</_DefaultValueAttributeSupport>
48         </PropertyGroup>
50         <!-- Default configuration for fast-debugging builds -->
51         <PropertyGroup Condition="'$(Configuration)' == 'DebugFast'">
52                 <AnalysisMode>AllDisabledByDefault</AnalysisMode>
53                 <DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
54         </PropertyGroup>
56         <!-- Default configuration for release builds -->
57         <PropertyGroup Condition="'$(Configuration)' == 'Release'">
58                 <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
59                 <DebugSymbols>false</DebugSymbols>
60                 <DebugType>none</DebugType>
61                 <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
62                 <WarningsAsErrors />
63                 <WarningsNotAsErrors>CS8002,IL2026,IL2104,NU1901,NU1902,NU1903,NU1904</WarningsNotAsErrors>
64         </PropertyGroup>
66         <!-- Enable public signing -->
67         <PropertyGroup Condition="'$(Configuration)' == 'Release'">
68                 <AssemblyOriginatorKeyFile>../resources/ArchiSteamFarm.snk.pub</AssemblyOriginatorKeyFile>
69                 <DefineConstants>$(DefineConstants);ASF_SIGNED_BUILD</DefineConstants>
70                 <PublicSign>true</PublicSign>
71                 <SignAssembly>true</SignAssembly>
72         </PropertyGroup>
74         <!-- Private SNK signing, if provided with secret -->
75         <PropertyGroup Condition="'$(Configuration)' == 'Release' AND EXISTS('resources/ArchiSteamFarm.snk')">
76                 <AssemblyOriginatorKeyFile>../resources/ArchiSteamFarm.snk</AssemblyOriginatorKeyFile>
77                 <DefineConstants>$(DefineConstants);ASF_SIGNED_BUILD</DefineConstants>
78                 <PublicSign>false</PublicSign>
79                 <SignAssembly>true</SignAssembly>
80         </PropertyGroup>
82         <!-- Trimming functionality as described on https://learn.microsoft.com/dotnet/core/deploying/trimming/trimming-options -->
83         <PropertyGroup Condition="'$(Configuration)' == 'Release'">
84                 <DebuggerSupport>false</DebuggerSupport>
85                 <EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization>
86                 <EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding>
87                 <EventSourceSupport>false</EventSourceSupport>
88                 <HttpActivityPropagationSupport>false</HttpActivityPropagationSupport>
89                 <MetadataUpdaterSupport>false</MetadataUpdaterSupport>
90                 <StackTraceSupport>false</StackTraceSupport>
91                 <UseNativeHttpHandler>true</UseNativeHttpHandler>
92                 <TrimMode>partial</TrimMode>
93         </PropertyGroup>
94 </Project>