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

    <PropertyGroup>
        <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <NoWarn>$(NoWarn);CS1591</NoWarn>
        <Platforms>AnyCPU;x64</Platforms>
        <RootNamespace>ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway</RootNamespace>
    </PropertyGroup>

    <ItemGroup>
        <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"/>
        <!-- Runtime owns ServerHistorianOptions (the bound ServerHistorian config). The read-cutover
             factory (GatewayHistorian.CreateDataSource / HistorianGatewayClientAdapter.Create) maps
             those options onto the package client, so the driver references it. Runtime references no
             driver, so this is a diamond (Host -> {Runtime, Gateway}, Gateway -> Runtime), not a cycle. -->
        <ProjectReference Include="..\..\Server\ZB.MOM.WW.OtOpcUa.Runtime\ZB.MOM.WW.OtOpcUa.Runtime.csproj"/>
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="ZB.MOM.WW.HistorianGateway.Client" />
        <PackageReference Include="ZB.MOM.WW.HistorianGateway.Contracts" />
        <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
        <!-- FasterLog-backed durable historization outbox (Recorder/FasterLogHistorizationOutbox).
             Pure-managed FasterLog; same package the gateway's store-forward outbox uses. -->
        <PackageReference Include="Microsoft.FASTER.Core" />
    </ItemGroup>

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

</Project>
