<!-- Contains required properties for osu!framework projects. -->
<Project>
  <PropertyGroup Label="C#">
    <LangVersion>8.0</LangVersion>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
  </PropertyGroup>
  <PropertyGroup>
    <ApplicationManifest>$(MSBuildThisFileDirectory)app.manifest</ApplicationManifest>
  </PropertyGroup>
  <ItemGroup Label="License">
    <None Include="$(MSBuildThisFileDirectory)osu.licenseheader">
      <Link>osu.licenseheader</Link>
    </None>
  </ItemGroup>
  <ItemGroup Label="Resources">
    <EmbeddedResource Include="Resources\**\*.*" />
  </ItemGroup>
  <ItemGroup Label="Code Analysis">
    <PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="2.9.8" PrivateAssets="All" />
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)CodeAnalysis\BannedSymbols.txt" />
    <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.8" PrivateAssets="All" />
  </ItemGroup>
  <PropertyGroup Label="Code Analysis">
    <CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)CodeAnalysis\osu.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <PropertyGroup Label="Documentation">
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <NoWarn>$(NoWarn);CS1591</NoWarn>
  </PropertyGroup>
  <PropertyGroup Label="Project">
    <!-- DeepEqual is not netstandard-compatible. This is fine since we run tests with .NET Framework anyway.
    This is required due to https://github.com/NuGet/Home/issues/5740 -->
    <NoWarn>$(NoWarn);NU1701</NoWarn>
  </PropertyGroup>
  <PropertyGroup Label="Nuget">
    <IsPackable>false</IsPackable>
    <Authors>ppy Pty Ltd</Authors>
    <PackageLicenseExpression>MIT</PackageLicenseExpression>
    <PackageProjectUrl>https://github.com/ppy/osu</PackageProjectUrl>
    <RepositoryUrl>https://github.com/ppy/osu</RepositoryUrl>
    <PackageReleaseNotes>Automated release.</PackageReleaseNotes>
    <Company>ppy Pty Ltd</Company>
    <Copyright>Copyright (c) 2020 ppy Pty Ltd</Copyright>
    <PackageTags>osu game</PackageTags>
  </PropertyGroup>
</Project>