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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <WarningsAsErrors>nullable</WarningsAsErrors>

    <SignAssembly>True</SignAssembly>
    <AssemblyOriginatorKeyFile>..\ICSharpCode.Decompiler\ICSharpCode.Decompiler.snk</AssemblyOriginatorKeyFile>

    <NeutralLanguage>en-US</NeutralLanguage>
    <GenerateAssemblyVersionAttribute>False</GenerateAssemblyVersionAttribute>
    <GenerateAssemblyFileVersionAttribute>False</GenerateAssemblyFileVersionAttribute>
    <GenerateAssemblyInformationalVersionAttribute>False</GenerateAssemblyInformationalVersionAttribute>
  </PropertyGroup>

  <PropertyGroup>
    <PackageId>ICSharpCode.ILSpyX</PackageId>
    <PackageVersion>8.0.0.0-noversion</PackageVersion>
    <Title>ILSpyX Platform</Title>
    <Authors>ILSpy Contributors</Authors>
    <PackageLicenseExpression>MIT</PackageLicenseExpression>
    <PackageProjectUrl>https://github.com/icsharpcode/ILSpy/</PackageProjectUrl>
    <Description>Core cross-platform library used by ILSpy.</Description>
    <PackageReadmeFile>PackageReadme.md</PackageReadmeFile>
    <Company>ic#code</Company>
    <Product>ILSpyX</Product>
    <RepositoryType>git</RepositoryType>
    <RepositoryUrl>https://github.com/icsharpcode/ILSpy.git</RepositoryUrl>
    <PackageIconUrl>../ICSharpCode.Decompiler/DecompilerNuGetPackageIcon.png</PackageIconUrl>
    <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
    <Copyright>Copyright 2022-$([System.DateTime]::Now.Year) AlphaSierraPapa</Copyright>
    <PackageTags>C# Decompiler ILSpy</PackageTags>

    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <DebugType>embedded</DebugType>
    <DebugSymbols>true</DebugSymbols>
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
    <PublishRepositoryUrl>true</PublishRepositoryUrl>
  </PropertyGroup>

  <ItemGroup>
    <InternalsVisibleTo Include="ILSpy.Tests" Key="00240000048000009400000006020000002400005253413100040000010001004dcf3979c4e902efa4dd2163a039701ed5822e6f1134d77737296abbb97bf0803083cfb2117b4f5446a217782f5c7c634f9fe1fc60b4c11d62c5b3d33545036706296d31903ddcf750875db38a8ac379512f51620bb948c94d0831125fbc5fe63707cbb93f48c1459c4d1749eb7ac5e681a2f0d6d7c60fa527a3c0b8f92b02bf" />
  </ItemGroup>

  <ItemGroup>
    <None Include="PackageReadme.md" Pack="true" PackagePath="\" />
  </ItemGroup>

  <ItemGroup>
    <Compile Remove="Properties\AssemblyInfo.template.cs" />
  </ItemGroup>

  <PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
  </PropertyGroup>

  <!-- Inject ILSpyUpdateAssemblyInfo as dependency of the GetPackageVersion
    target so Pack uses the generated version when evaluating project references. -->
  <PropertyGroup>
    <GetPackageVersionDependsOn>
      ILSpyUpdateAssemblyInfo;
      $(GetPackageVersionDependsOn)
    </GetPackageVersionDependsOn>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="System.ComponentModel.Composition" />
    <PackageReference Include="System.Reflection.Metadata" />
    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" />
    <PackageReference Include="System.Composition" />
    <PackageReference Include="Mono.Cecil" />
    <PackageReference Include="K4os.Compression.LZ4" />
    <PackageReference Include="Microsoft.SourceLink.GitHub">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\ICSharpCode.Decompiler\ICSharpCode.Decompiler.csproj" />
  </ItemGroup>

  <Target Name="ILSpyUpdateAssemblyInfo" AfterTargets="ResolveProjectReferences">
    <ReadLinesFromFile ContinueOnError="true" File="..\VERSION">
      <Output TaskParameter="Lines" PropertyName="PackageVersion" />
    </ReadLinesFromFile>
  </Target>

</Project>