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

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>warnings</Nullable>
    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
    <LangVersion>default</LangVersion>
    <ServerGarbageCollection>true</ServerGarbageCollection>
    <EnableNETAnalyzers>true</EnableNETAnalyzers>
    <Features>strict</Features>
    <Authors>Timothy (RaiNote) Schenk</Authors>
    <Copyright>Timothy (RaiNote) Schenk</Copyright>
    <PackageProjectUrl>https://forge.rainote.dev/wonderking/continuity</PackageProjectUrl>
    <RepositoryUrl>https://forge.rainote.dev/wonderking/continuity</RepositoryUrl>
    <RepositoryType>git</RepositoryType>
    <GenerateDocumentationFile>False</GenerateDocumentationFile>
    <ProduceReferenceAssembly>True</ProduceReferenceAssembly>
    <PackageLicenseFile>LICENSE</PackageLicenseFile>
    <AnalysisLevel>latest-recommended</AnalysisLevel>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net8.0|AnyCPU'">
    <WarningLevel>7</WarningLevel>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0|AnyCPU'">
    <WarningLevel>7</WarningLevel>
  </PropertyGroup>

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

  <ItemGroup>
    <PackageReference Include="AsyncFixer" Version="1.6.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="DotNext" Version="5.13.0" />
    <PackageReference Include="DotNext.IO" Version="5.13.0" />
    <PackageReference Include="DotNext.Metaprogramming" Version="5.13.0" />
    <PackageReference Include="DotNext.Threading" Version="5.13.0" />
    <PackageReference Include="DotNext.Unsafe" Version="5.13.0" />
    <PackageReference Include="JetBrains.Annotations" Version="2023.3.0"/>
    <PackageReference Include="Konscious.Security.Cryptography.Argon2" Version="1.3.0"/>
    <PackageReference Include="MassTransit" Version="8.1.3" />
    <PackageReference Include="MassTransit.Analyzers" Version="8.1.3">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Meziantou.Analyzer" Version="2.0.146">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="8.0.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Analyzers" Version="8.0.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.3">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0"/>
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0"/>
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0"/>
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0"/>
    <PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0"/>
    <PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0"/>
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.0"/>
    <PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="17.9.28">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="NetCoreServer" Version="8.0.7" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3"/>
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.2" />
    <PackageReference Include="Npgsql.OpenTelemetry" Version="8.0.2" />
    <PackageReference Include="Nullable.Extended.Analyzer" Version="1.15.6169">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="OpenTelemetry" Version="1.7.0" />
    <PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.7.0" />
    <PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.7.0" />
    <PackageReference Include="OpenTelemetry.Exporter.Zipkin" Version="1.7.0" />
    <PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.7.0" />
    <PackageReference Include="OpenTelemetry.Instrumentation.EntityFrameworkCore" Version="1.0.0-beta.10"/>
    <PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.7.1" />
    <PackageReference Include="OpenTelemetry.Instrumentation.Process" Version="1.0.0-alpha.6" />
    <PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.7.0" />
    <PackageReference Include="OpenTelemetry.PersistentStorage.FileSystem" Version="1.0.0"/>
    <PackageReference Include="OpenTelemetry.ResourceDetectors.Container" Version="1.0.0-beta.6"/>
    <PackageReference Include="Serilog.Extensions.Logging.File" Version="3.0.0"/>
    <PackageReference Include="Serilog.Sinks.File" Version="5.0.0"/>
  </ItemGroup>

  <ItemGroup>
    <Content Include="settings.Development.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

  <ItemGroup>
    <None Include="..\LICENSE">
      <Pack>True</Pack>
      <PackagePath>\</PackagePath>
    </None>
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Wonderking\Wonderking.csproj"/>
  </ItemGroup>
</Project>