<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the MIT license. See License.txt in the project root for full license information. -->
<Project>

  <PropertyGroup>
    <EnableDefaultItems>false</EnableDefaultItems>
  </PropertyGroup>

  <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

  <PropertyGroup>
    <!-- PackageReference to xunit defaults IsTestProject to true, which we don't want for TestFramework
         If IsTestProject is true, then Arcade automatically adds a reference to Microsoft.NET.Test.Sdk,
         which sets the OutputType to Exe, which is what we use to determine whether a project should
         have the common Program.cs included.  We don't want that in this project to avoid type conflicts
         with the actual test projects that reference it.
    -->
    <IsTestProject>false</IsTestProject>

    <TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
  </PropertyGroup>

  <ItemGroup>
    <AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
      <_Parameter1>NewtonsoftJsonPackageVersion</_Parameter1>
      <_Parameter2>$(NewtonsoftJsonPackageVersion)</_Parameter2>
    </AssemblyAttribute>
    <AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute">
      <_Parameter1>SystemDataSqlClientPackageVersion</_Parameter1>
      <_Parameter2>$(SystemDataSqlClientPackageVersion)</_Parameter2>
    </AssemblyAttribute>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Build.Utilities.Core" />
    <PackageReference Include="Microsoft.DotNet.XUnitExtensions" />
    <PackageReference Include="FluentAssertions" />
    <PackageReference Include="Newtonsoft.Json" />
    <PackageReference Include="xunit" />
    <PackageReference Include="Microsoft.Extensions.Logging"  />
    <PackageReference Include="Microsoft.Extensions.Logging.Console"  />
  </ItemGroup>

  <!-- Packages that are in-box for .NET Core, so we only need to reference them for .NET Framework -->
  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
    <PackageReference Include="System.Reflection.Metadata" VersionOverride="$(SystemReflectionMetadataVersion)" />
    <PackageReference Include="System.Reflection.MetadataLoadContext" VersionOverride="$(SystemReflectionMetadataVersion)" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.InternalAbstractions\Microsoft.DotNet.InternalAbstractions.csproj" />
  </ItemGroup>

  <ItemGroup>
    <Compile Include="**\*.cs" Exclude="$(GlobalExclude)" />
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Include="**\*.resx" Exclude="$(GlobalExclude)" />
  </ItemGroup>

  <ItemGroup>
    <None Include="SetupTestRoot.targets" />
  </ItemGroup>

  <Import Project="SetupTestRoot.targets" />

  <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

</Project>
