Repository navigation
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
118 lines (109 loc) · 6.17 KB
/
Copy pathDirectory.Build.props
File metadata and controls
118 lines (109 loc) · 6.17 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<Project ToolsVersion="latest" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Key properties -->
<PropertyGroup>
<RepoRoot>$([MSBuild]::EnsureTrailingSlash('$(MSBuildThisFileDirectory)'))</RepoRoot>
<SolutionDir Condition="$(SolutionDir) == ''">$(RepoRoot)</SolutionDir>
<Authors>Actual Chat, Inc.</Authors>
<Company>Actual Chat, Inc.</Company>
<Copyright>Copyright Alex Yakunin, Actual Chat, Inc.</Copyright>
</PropertyGroup>
<!-- Multitargeting: single-target net10.0 by default; net10.0;net9.0 when UseMultitargeting=true -->
<PropertyGroup Condition="'$(UseMultitargeting)' == ''">
<UseMultitargeting>false</UseMultitargeting>
<!-- <UseMultitargeting>true</UseMultitargeting>-->
<TargetFramework Condition="!$(UseMultitargeting)">net10.0</TargetFramework>
</PropertyGroup>
<!-- Common properties -->
<PropertyGroup>
<ProjectKind>Other</ProjectKind>
</PropertyGroup>
<PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.csproj'">
<ProjectKind Condition="$(MSBuildProjectName.Contains('.Tests'))">Tests</ProjectKind>
<ProjectKind Condition="$(MSBuildProjectName.Contains('.Benchmarks'))">Benchmarks</ProjectKind>
</PropertyGroup>
<!-- Output paths -->
<PropertyGroup>
<UseArtifactsOutput>true</UseArtifactsOutput>
<ArtifactsPath>$(RepoRoot)artifacts</ArtifactsPath>
<PackageOutputPath>$(RepoRoot)artifacts\nupkg</PackageOutputPath>
<AppendTargetFrameworkToOutputPath>true</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
</PropertyGroup>
<!-- Defaults for .csproj -->
<PropertyGroup>
<OutputType>Library</OutputType>
<LangVersion>preview</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Features>strict</Features>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
<!-- Codegen & trimming options -->
<PropertyGroup>
<IsTrimmable>false</IsTrimmable>
<IsAotCompatible>false</IsAotCompatible>
<EmitCompilerGeneratedFiles>false</EmitCompilerGeneratedFiles>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<NoDefaultLaunchSettingsFile>true</NoDefaultLaunchSettingsFile>
</PropertyGroup>
<!-- Packaging -->
<PropertyGroup>
<PackageProjectUrl>https://github.com/ActualLab/Kvasar</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/ActualLab/Kvasar</RepositoryUrl>
<PackageTags>actual_chat actual_lab kvasar key-value bitcask encrypted embedded</PackageTags>
<Description>ActualLab.Kvasar - a pure-managed, encrypted, file-system-based key-value store for .NET (Bitcask model).</Description>
<DefaultLanguage>en-US</DefaultLanguage>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
<DebugType>portable</DebugType>
<DebugSymbols>true</DebugSymbols>
<GenerateFullPaths Condition="'$(TERM_PROGRAM)' == 'vscode'">true</GenerateFullPaths>
</PropertyGroup>
<!-- Analyzers & warnings -->
<PropertyGroup>
<NoLogo>true</NoLogo>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
<AnalysisLevel>preview</AnalysisLevel>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<EnableTrimAnalyzer>true</EnableTrimAnalyzer>
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
<WarningLevel>4</WarningLevel>
<!-- NETSDK1057: You're using a preview version of .NET -->
<NoWarn>$(NoWarn);NETSDK1057</NoWarn>
<!-- NU1603/NU1901-1904/NU5105: NuGet best-match / vulnerability / SemVer2 notices -->
<NoWarn>$(NoWarn);NU1603;NU1901;NU1902;NU1903;NU1904;NU5105</NoWarn>
<!-- CA1062: Validate arguments of public methods -->
<!-- CS1591: Missing XML comment for publicly visible type or member -->
<!-- CA1873/CA2254: logging perf/template -->
<NoWarn>$(NoWarn);CA1062;CS1591;CA1873;CA2254</NoWarn>
<!-- RCS1047: Non-asynchronous method name should not end with 'Async' -->
<!-- VSTHRD002/003/103/110: VS threading analyzer rules -->
<!-- VSTHRD200: Use 'Async' suffix in names of methods that return an awaitable type.
Suppressed repo-wide (src, tests, benchmarks, tools): CODING_STYLE.md bans the 'Async' suffix. -->
<NoWarn>$(NoWarn);RCS1047;VSTHRD002;VSTHRD003;VSTHRD103;VSTHRD110;VSTHRD200</NoWarn>
<!-- MA0009: regex DoS; MA0015/MA0046: parameter/delegate shape; MA0016: return collection abstraction -->
<!-- MA0018: static members on generic types; MA0026: TODO comments; MA0048: file name must match type name -->
<!-- MA0051: method is too long; MA0056: overridable member in ctor; MA0064: lock on public instance -->
<!-- MA0084: local hides parameter (misfires on primary ctors); MA0097: IComparable => comparison operators -->
<NoWarn>$(NoWarn);MA0009;MA0015;MA0016;MA0018;MA0026;MA0046;MA0048;MA0051;MA0056;MA0064;MA0084;MA0097</NoWarn>
<!-- CA2263: prefer the generic overload -->
<!-- CS8669: nullable annotation outside a '#nullable' context (generated code) -->
<NoWarn>$(NoWarn);CA2263;CS8669</NoWarn>
<!-- Design-rule opt-outs matching ActualLab conventions -->
<NoWarn>$(NoWarn);CA1001;CA1002;CA1003;CA1030;CA1031;CA1033;CA1034;CA1040;CA1043</NoWarn>
<NoWarn>$(NoWarn);CA1051;CA1054;CA1055;CA1056;CA1063;CA1065;CA1308;CA1508;CA1510</NoWarn>
<NoWarn>$(NoWarn);CA1707;CA1711;CA1720;CA1724;CA1725</NoWarn>
<NoWarn>$(NoWarn);CA1802;CA1805;CA1810;CA1815;CA1816;CA1819;CA1848;CA1859</NoWarn>
<NoWarn>$(NoWarn);CA2000;CA2213;CA2225;CA2234;CA5394</NoWarn>
<NoWarn>$(NoWarn);CA1000;CA1512;CA1513;CA1710;CA1716;CA1849;CA2012;CA2207;CA2227</NoWarn>
<!-- CA1028: enum backing type (our enums mirror on-disk byte fields) -->
<!-- CA1815/CA2231: struct Equals/== operators (internal blittable structs) -->
<!-- MA0008: Add StructLayoutAttribute to struct -->
<NoWarn>$(NoWarn);CA1028;CA2231;MA0008</NoWarn>
<!-- MA0099: explicit enum value; MA0158: prefer System.Threading.Lock -->
<NoWarn>$(NoWarn);MA0099;MA0158</NoWarn>
</PropertyGroup>
</Project>