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

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <RootNamespace>LibHacBuild</RootNamespace>
    <IsPackable>False</IsPackable>
    <NoWarn>CS0649;CS0169</NoWarn>
    <NukeRootDirectory>..</NukeRootDirectory>
    <NukeScriptDirectory>..</NukeScriptDirectory>
    <NukeTelemetryVersion>1</NukeTelemetryVersion>
    <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
  </PropertyGroup>

  <ItemGroup>
    <PackageDownload Include="GitVersion.Tool" Version="[5.12.0]" />
    <PackageReference Include="CsvHelper" Version="30.0.1" />
    <PackageReference Include="NuGet.CommandLine" Version="6.8.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Nuke.Common" Version="7.0.6" />
    <PackageReference Include="SharpZipLib" Version="1.4.2" />
  </ItemGroup>

  <ItemGroup>
    <NukeMetadata Include="**\*.json" Exclude="bin\**;obj\**" />
    <NukeExternalFiles Include="**\*.*.ext" Exclude="bin\**;obj\**" />
    <None Remove="*.csproj.DotSettings;*.ref.*.txt" />
    <EmbeddedResource Include="CodeGen\*.csv" />
    <Compile Remove="CodeGen\Stage2\**" />
    <Compile Remove="CodeGen\bin\**;CodeGen\obj\**" />
    <None Remove="CodeGen\bin\**;CodeGen\obj\**" />
  </ItemGroup>

</Project>