feat: freeze public API and publish snupkg symbols

Added PublicApiAnalyzers 5.6.0 with PublicAPI.Shipped baselines (net10.0/net48) so breaking API changes fail the build (RS0016/RS0017). Enabled snupkg symbol packages and CI push.
This commit is contained in:
Miha Kralj
2026-09-27 18:00:14 -07:00
parent 04d77964ba
commit bc474fdadf
5 changed files with 13274 additions and 0 deletions
+5
View File
@@ -375,3 +375,8 @@ jobs:
--source https://api.nuget.org/v3/index.json \
--skip-duplicate \
--api-key "$NUGET_API_KEY"
dotnet nuget push 'lib/bin/Release/*.snupkg' \
--source https://api.nuget.org/v3/index.json \
--skip-duplicate \
--api-key "$NUGET_API_KEY"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
View File
+23
View File
@@ -16,6 +16,8 @@
<PackageReadmeFile>README.md</PackageReadmeFile>
<NuGetReadmeOutput>$([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', 'obj', 'nuget', 'README.md'))</NuGetReadmeOutput>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<NoPackageAnalysis>true</NoPackageAnalysis>
<PackageTags>
Indicators;Stock;Market;Technical;Analysis;Algorithmic;Trading;Trade;Trend;Momentum;Finance;Algorithm;Algo;
@@ -52,6 +54,27 @@
<Compile Include="**/*.cs" Exclude="**/*.Tests.cs;**/*.Quantower.cs;**/obj/**/*.cs;**/bin/**/*.cs;feeds/gbm/ValidationHelper.cs;feeds/gbm/ValidationTestData.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.PublicApiAnalyzers" Version="5.6.0" PrivateAssets="all" />
</ItemGroup>
<!-- RS0036: BCL overrides (ToString/Equals) inherit oblivious nullability from object; suppress the annotation hint. -->
<PropertyGroup>
<NoWarn>$(NoWarn);RS0036</NoWarn>
</PropertyGroup>
<ItemGroup>
<AdditionalFiles Include="PublicAPI.Unshipped.txt" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
<AdditionalFiles Include="PublicAPI.Shipped.net10.0.txt" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net48'">
<AdditionalFiles Include="PublicAPI.Shipped.net48.txt" />
</ItemGroup>
<ItemGroup>
<None Include="..\docs\img\QuanTAlib2.png" Pack="true" Visible="false" PackagePath="" />