Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ppy
GitHub Repository: ppy/osu
Path: blob/master/Directory.Build.props
2255 views
<!-- Contains required properties for osu!framework projects. -->
<Project>
  <PropertyGroup Label="C#">
    <LangVersion>12.0</LangVersion>
    <Nullable>enable</Nullable>
    <!-- Stabilises hot reload, see: https://platform.uno/docs/articles/studio/Hot%20Reload/hot-reload-overview.html?tabs=vswin%2Cwindows%2Cskia-desktop%2Ccommon-issues -->
    <GenerateAssemblyInfo Condition="'$(Configuration)'=='Debug'">false</GenerateAssemblyInfo>
    <!-- Required due to the above  -->
    <NoWarn Condition="'$(Configuration)'=='Debug'">$(NoWarn);CA1416</NoWarn>
  </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="3.3.4" PrivateAssets="All" />
    <AdditionalFiles Include="$(MSBuildThisFileDirectory)CodeAnalysis\BannedSymbols.txt" />
    <!-- Rider compatibility: .globalconfig needs to be explicitly referenced instead of using the global file name. -->
    <GlobalAnalyzerConfigFiles Include="$(MSBuildThisFileDirectory)CodeAnalysis\osu.globalconfig" />
  </ItemGroup>
  <PropertyGroup Label="Code Analysis">
    <AnalysisMode>Default</AnalysisMode>
    <AnalysisModeDesign>Default</AnalysisModeDesign>
    <AnalysisModeDocumentation>Recommended</AnalysisModeDocumentation>
    <AnalysisModeGlobalization>Recommended</AnalysisModeGlobalization>
    <AnalysisModeInteroperability>Recommended</AnalysisModeInteroperability>
    <AnalysisModeMaintainability>Recommended</AnalysisModeMaintainability>
    <AnalysisModeNaming>Default</AnalysisModeNaming>
    <AnalysisModePerformance>Minimum</AnalysisModePerformance>
    <AnalysisModeReliability>Recommended</AnalysisModeReliability>
    <AnalysisModeSecurity>Default</AnalysisModeSecurity>
    <AnalysisModeUsage>Default</AnalysisModeUsage>
  </PropertyGroup>
  <PropertyGroup Label="Documentation">
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <NoWarn>$(NoWarn);CS1591</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) 2025 ppy Pty Ltd</Copyright>
    <PackageTags>osu game</PackageTags>
  </PropertyGroup>
</Project>