<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <TargetFramework>net9.0</TargetFramework>
        <Nullable>enable</Nullable>
        <ImplicitUsings>enable</ImplicitUsings>
        <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
        <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Coravel" Version="6.0.2"/>
        <PackageReference Include="Coravel.Mailer" Version="7.1.0"/>
        <PackageReference Include="EFCore.NamingConventions" Version="9.0.0"/>
        <PackageReference Include="EntityFrameworkCore.Exceptions.PostgreSQL" Version="8.1.3"/>
        <PackageReference Include="Humanizer.Core" Version="2.14.1"/>
        <PackageReference Include="JetBrains.Annotations" Version="2024.3.0"/>
        <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.2"/>
        <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.2"/>
        <PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.2"/>
        <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.2">
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
            <PrivateAssets>all</PrivateAssets>
        </PackageReference>
        <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.2"/>
        <PackageReference Include="MimeKit" Version="4.10.0"/>
        <PackageReference Include="Minio" Version="6.0.4"/>
        <PackageReference Include="Newtonsoft.Json" Version="13.0.3"/>
        <PackageReference Include="NodaTime" Version="3.2.1"/>
        <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.3"/>
        <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NodaTime" Version="9.0.3"/>
        <PackageReference Include="Npgsql.Json.NET" Version="9.0.3"/>
        <PackageReference Include="prometheus-net" Version="8.2.1"/>
        <PackageReference Include="prometheus-net.AspNetCore" Version="8.2.1"/>
        <PackageReference Include="Roslynator.Analyzers" Version="4.13.1">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="Scalar.AspNetCore" Version="2.0.18"/>
        <PackageReference Include="Sentry.AspNetCore" Version="5.2.0"/>
        <PackageReference Include="Serilog" Version="4.2.0"/>
        <PackageReference Include="Serilog.AspNetCore" Version="9.0.0"/>
        <PackageReference Include="Serilog.Sinks.Console" Version="6.0.0"/>
        <PackageReference Include="Serilog.Sinks.Seq" Version="9.0.0"/>
        <PackageReference Include="SixLabors.ImageSharp" Version="3.1.6"/>
        <PackageReference Include="System.Text.Json" Version="9.0.2"/>
        <PackageReference Include="System.Text.RegularExpressions" Version="4.3.1"/>
        <PackageReference Include="Yort.Xid.Net" Version="2.0.1"/>
    </ItemGroup>

    <Target Name="SetSourceRevisionId" BeforeTargets="InitializeSourceControlInformation">
        <Exec Command="../build_info.sh" IgnoreExitCode="false">
        </Exec>
    </Target>

    <ItemGroup>
        <EmbeddedResource Watch="false" Include="..\.version" LogicalName="version"/>
    </ItemGroup>

    <ItemGroup>
        <Content Include="..\.dockerignore">
            <Link>.dockerignore</Link>
        </Content>
    </ItemGroup>
</Project>