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

    <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
        <Nullable>enable</Nullable>
        <ImplicitUsings>enable</ImplicitUsings>
    </PropertyGroup>

    <PropertyGroup>
        <!-- This warning triggers on most record classes. It is unhelpful. :/ -->
        <NoWarn>$(NoWarn);8618</NoWarn>
    </PropertyGroup>

    <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
        <DebugSymbols>true</DebugSymbols>
        <DebugType>full</DebugType>
    </PropertyGroup>

    <PropertyGroup>
        <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Google.Protobuf" Version="3.13.0"/>
        <PackageReference Include="Grpc.Net.ClientFactory" Version="2.32.0" />
        <PackageReference Include="Grpc.Tools" Version="2.47.0" PrivateAssets="all" />
        <PackageReference Include="Polly" Version="7.2.1"/>
        <PackageReference Include="Polly.Contrib.WaitAndRetry" Version="1.1.1"/>
        <PackageReference Include="Serilog" Version="2.10.0"/>
        <PackageReference Include="StackExchange.Redis" Version="2.2.88" />
        <PackageReference Include="System.Linq.Async" Version="5.0.0"/>
    </ItemGroup>

    <ItemGroup>
        <Protobuf Include="../proto/discord_cache.proto" GrpcServices="Client" Link="Protos/discord_cache.proto"/>
    </ItemGroup>
</Project>