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

  <!-- ProjectGuid is only included as a requirement for SonarQube analysis -->
  <PropertyGroup>
    <ProjectGuid>{DFBEFB4C-DA19-4143-98B7-27320C7F7163}</ProjectGuid>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <Nullable>enable</Nullable>
    <!-- https://github.com/microsoft/ApplicationInsights-dotnet/issues/2047 -->
    <NoWarn>AD0001</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Authorization" Version="5.0.3" />
    <PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.0.5" />
    <PackageReference Include="Swashbuckle.AspNetCore.ReDoc" Version="6.0.5" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Emby.Dlna\Emby.Dlna.csproj" />
    <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
  </ItemGroup>

  <!-- Code Analyzers-->
  <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
    <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.8" PrivateAssets="All" />
    <PackageReference Include="SerilogAnalyzer" Version="0.15.0" PrivateAssets="All" />
    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
    <PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" PrivateAssets="All" />
  </ItemGroup>

  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <CodeAnalysisRuleSet>../jellyfin.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>

  <ItemGroup>
    <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
      <_Parameter1>Jellyfin.Api.Tests</_Parameter1>
    </AssemblyAttribute>
  </ItemGroup>

</Project>
