-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
94 lines (81 loc) · 4.86 KB
/
Directory.Build.props
File metadata and controls
94 lines (81 loc) · 4.86 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
<Project>
<!-- ═══════════════════════════════════════════════════════════════════════
Sharc — Directory.Build.props
Centralized build settings for all projects in the solution.
═══════════════════════════════════════════════════════════════════════ -->
<!-- Common settings for ALL projects -->
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>true</RunAnalyzersDuringLiveAnalysis>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<AnalysisLevel>latest-recommended</AnalysisLevel>
<!-- Deterministic builds for reproducibility -->
<Deterministic>true</Deterministic>
<ContinuousIntegrationBuild Condition="'$(CI)' == 'true'">true</ContinuousIntegrationBuild>
</PropertyGroup>
<!-- ─── Source projects (src/**) ─── -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Contains('src'))">
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<IsPackable>true</IsPackable>
<!-- NuGet metadata -->
<Authors>Ram Kumar Revanur</Authors>
<Company>Maker.AI</Company>
<Product>Sharc</Product>
<Copyright>Copyright (c) 2025-2026 Ram Kumar Revanur. All rights reserved.</Copyright>
<Description>High-performance pure managed SQLite file-format reader and writer for .NET. 95x faster point lookups, zero per-row allocation, no native dependencies. Built for AI agents, Blazor WASM, and edge deployment.</Description>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageTags>sqlite;database;reader;writer;high-performance;zero-allocation;wasm;blazor;ai-agent;context-engine;embedded-database;no-native-dependencies;encryption;graph-traversal;point-lookup;dotnet;csharp</PackageTags>
<PackageProjectUrl>https://github.com/revred/sharc</PackageProjectUrl>
<RepositoryUrl>https://github.com/revred/sharc.git</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<!-- Assembly metadata -->
<AssemblyVersion>1.2.65.0</AssemblyVersion>
<FileVersion>1.2.65.0</FileVersion>
<Version>1.2.65</Version>
<!-- Optimization for WASM/Size -->
<IsTrimmable>true</IsTrimmable>
<IsAotCompatible>true</IsAotCompatible>
<!-- SourceLink: embed source info in PDBs for debugger support -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>
<!-- SourceLink for src projects -->
<ItemGroup Condition="$(MSBuildProjectDirectory.Contains('src'))">
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
</ItemGroup>
<!-- Each packable project includes its own NuGet_README.md (see individual csprojs) -->
<!-- ─── Test projects (tests/**) ─── -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Contains('tests'))">
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<!-- Don't treat warnings as errors in test projects — xUnit analyzers can be noisy -->
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<!-- CA1707 — Method_Scenario_Expected naming is the project's test convention
CA1861 — Tests commonly use inline array literals for readability
CA1305 — Locale-sensitive formatting is acceptable in test helpers
CA1310 — Locale-sensitive StartsWith/EndsWith is acceptable in tests -->
<NoWarn>$(NoWarn);CA1707;CA1861;CA1305;CA1310</NoWarn>
</PropertyGroup>
<!-- ─── Benchmark projects (bench/**) ─── -->
<PropertyGroup Condition="$(MSBuildProjectDirectory.Contains('bench'))">
<IsPackable>false</IsPackable>
<!-- Benchmarks only build in Release -->
<OutputType>Exe</OutputType>
<!-- BenchmarkDotNet conventions differ from library code:
CA1707 — Prefix_Description naming is standard for benchmark methods
CA1001 — Disposable lifetime managed by [GlobalSetup]/[GlobalCleanup]
CA1305 — String formatting in benchmarks doesn't need IFormatProvider
CA1822 — BenchmarkDotNet requires instance methods, not static -->
<NoWarn>$(NoWarn);CA1707;CA1001;CA1305;CA1822</NoWarn>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
</Project>