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

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

    <!-- This enables XML generation for Swashbuckle -->
    <PropertyGroup>
        <GenerateDocumentationFile>true</GenerateDocumentationFile>
        <NoWarn>$(NoWarn);1591</NoWarn>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
        <DebugType>full</DebugType>
    </PropertyGroup>

    <ItemGroup>
        <ProjectReference Include="..\PluralKit.Core\PluralKit.Core.csproj" />
    </ItemGroup>

    <ItemGroup>
        <_ContentIncludedByDefault Remove="Properties\launchSettings.json" />
    </ItemGroup>

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

    <ItemGroup>
        <PackageReference Include="App.Metrics.AspNetCore.All" Version="4.3.0" />
        <PackageReference Include="App.Metrics.Prometheus" Version="4.3.0" />
        <PackageReference Include="App.Metrics.Reporting.Console" Version="4.3.0" />
        <PackageReference Include="Google.Protobuf" Version="3.13.0" />
        <PackageReference Include="Grpc.Tools" Version="2.37.0" PrivateAssets="All" />
        <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.0" />
        <PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" Version="4.2.0" />
        <PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer" Version="4.2.0" />
        <PackageReference Include="Serilog.AspNetCore" Version="3.4.0" />
        <PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="5.6.3" />
        <PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="6.0.1" />
        <PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="5.6.3" />
        <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="5.6.3" />
        <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="5.6.3" />
        <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="5.6.3" />
    </ItemGroup>

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