Files
QuanTAlib/lib/quantalib.csproj
T
Miha Kralj bc474fdadf 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.
2026-09-27 18:00:14 -07:00

89 lines
4.1 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0;net48</TargetFrameworks>
<Title>QuanTAlib</Title>
<Product>QuanTAlib Technical Analysis Library</Product>
<Description>447 validated technical indicators for C#, Python and PineScript. O(1) streaming and SIMD batch. Cross-checked against TA-Lib, Tulip, Skender and pandas-ta.</Description>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/mihakralj/QuanTAlib</RepositoryUrl>
<Authors>Miha Kralj</Authors>
<Copyright>Miha Kralj</Copyright>
<RootNamespace>QuanTAlib</RootNamespace>
<AssemblyName>QuanTAlib</AssemblyName>
<IsPublishable>true</IsPublishable>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageIcon>QuanTAlib2.png</PackageIcon>
<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;
AlgoTrading;Financial;Strategy;Chart;Charting;Oscillator;Overlay;Equity;Bitcoin;Crypto;Cryptocurrency;Forex;
Quantitative;Historical;Quotes;
</PackageTags>
<PackageIconUrl>https://raw.githubusercontent.com/mihakralj/QuanTAlib/main/docs/img/QuanTAlib2.png</PackageIconUrl>
<EnforceCodeStyleInBuild>True</EnforceCodeStyleInBuild>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<LangVersion>latest</LangVersion>
<UserSecretsId>6afc11a7-4355-4f5e-9fdf-22431e5b03cb</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<InternalsVisibleTo Include="QuanTAlib.Tests" />
</ItemGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'net48'">
<!-- CollectionsMarshal is supplied by lib/core/CollectionsMarshal.cs (needs SetCount, which the generator lacks).
Index/Range are supplied publicly by lib/core/Polyfills.IndexRange.cs. -->
<MeziantouPolyfill_ExcludedPolyfills>M:System.Runtime.InteropServices.CollectionsMarshal.|T:System.Index|T:System.Range</MeziantouPolyfill_ExcludedPolyfills>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net48'">
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
<PackageReference Include="System.Memory" Version="4.6.3" />
<PackageReference Include="System.Numerics.Vectors" Version="4.6.1" />
<PackageReference Include="Meziantou.Polyfill" Version="1.*" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
<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="" />
<None Include="$(NuGetReadmeOutput)" Pack="true" PackagePath="\" />
</ItemGroup>
<Target Name="GenerateNuGetReadme" BeforeTargets="GenerateNuspec">
<Exec Command="pwsh -NoProfile -NonInteractive -File &quot;$(MSBuildThisFileDirectory)GenerateNuGetReadme.ps1&quot; -Output &quot;$(NuGetReadmeOutput)&quot;" />
</Target>
</Project>