<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFramework>net10.0</TargetFramework>
        <Platforms>AnyCPU;x64</Platforms>
        <Nullable>enable</Nullable>
        <ImplicitUsings>enable</ImplicitUsings>
        <LangVersion>latest</LangVersion>
        <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <NoWarn>$(NoWarn);CS1591</NoWarn>
        <RootNamespace>ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Client</RootNamespace>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="MessagePack"/>
        <PackageReference Include="Microsoft.Extensions.Logging.Abstractions"/>
    </ItemGroup>

    <ItemGroup>
        <ProjectReference Include="..\ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Client.Contracts\ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Client.Contracts.csproj"/>
        <ProjectReference Include="..\..\Core\ZB.MOM.WW.OtOpcUa.Core.Abstractions\ZB.MOM.WW.OtOpcUa.Core.Abstractions.csproj"/>
        <ProjectReference Include="..\..\Core\ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian\ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.csproj"/>
    </ItemGroup>

    <ItemGroup>
        <InternalsVisibleTo Include="ZB.MOM.WW.OtOpcUa.Driver.Historian.Wonderware.Client.Tests"/>
    </ItemGroup>

    <ItemGroup>
        <!--
            GHSA-37gx-xxp4-5rgx (MessagePack — unsafe deserialization via dynamic code generation)
            GHSA-w3x6-4m5h-cxqf (MessagePack — TypelessContractlessStandardResolver gadget chain)

            Neither advisory applies to this module's usage: all deserialization here uses the
            default StandardResolver (primitive types only). TypelessContractlessStandardResolver
            is never referenced and no DynamicUnion / DynamicGenericResolver is registered.
            DeserializeSampleValue() enforces a 64 KiB per-sample ValueBytes cap (finding 007).
            Revisit once MessagePack 3.x is available and drop these suppressions at that time.
        -->
        <NuGetAuditSuppress Include="https://github.com/advisories/GHSA-37gx-xxp4-5rgx"/>
        <NuGetAuditSuppress Include="https://github.com/advisories/GHSA-w3x6-4m5h-cxqf"/>
    </ItemGroup>

</Project>
