<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- Source of truth for dependency tooling: the commit hash of the dotnet/versions master branch as of the last auto-upgrade. -->

  <!-- For detailed explanation of the reference versions see:

        https://github.com/dotnet/buildtools/blob/master/Documentation/project-nuget-dependencies.md
        https://github.com/dotnet/buildtools/blob/master/Documentation/annotated-dependency-props.md

       These ref versions are pulled from https://github.com/dotnet/versions.
  -->
  <PropertyGroup>
    <CoreFxCurrentRef>3a5b9d25514fe788eeeb6ecdca6c5b187703d5f3</CoreFxCurrentRef>
    <CoreClrCurrentRef>41cec0941b3e81e30e69648c44110acc2a069bba</CoreClrCurrentRef>
    <CoreSetupCurrentRef>41cec0941b3e81e30e69648c44110acc2a069bba</CoreSetupCurrentRef>
    <ExternalCurrentRef>96dc7805f5df4a70a55783964ce69dcd91bfca80</ExternalCurrentRef>
    <ProjectNTfsCurrentRef>20f0758de84e9de4a31912d79333a34b16017a21</ProjectNTfsCurrentRef>
    <ProjectNTfsTestILCCurrentRef>20f0758de84e9de4a31912d79333a34b16017a21</ProjectNTfsTestILCCurrentRef>
    <SniCurrentRef>8bd1ec5fac9f0eec34ff6b34b1d878b4359e02dd</SniCurrentRef>
    <StandardCurrentRef>3814b0d53f4139b68c2fac85c28030fe8fa50a9d</StandardCurrentRef>
    <BuildToolsCurrentRef>075b515e3dfb615b45182c033af48abed349eea5</BuildToolsCurrentRef>
  </PropertyGroup>

  <!-- Auto-upgraded properties for each build info dependency. -->
  <PropertyGroup>
    <PlatformPackageVersion>2.1.0-preview1-25819-01</PlatformPackageVersion>
    <CoreFxExpectedPrerelease>preview1-25819-01</CoreFxExpectedPrerelease>
    <CoreClrPackageVersion>2.1.0-preview1-25818-04</CoreClrPackageVersion>
    <ExternalExpectedPrerelease>beta-25627-00</ExternalExpectedPrerelease>
    <ProjectNTfsExpectedPrerelease>beta-25813-00</ProjectNTfsExpectedPrerelease>
    <ProjectNTfsTestILCExpectedPrerelease>beta-25813-00</ProjectNTfsTestILCExpectedPrerelease>
    <ProjectNTfsTestILCPackageVersion>1.0.0-beta-25813-00</ProjectNTfsTestILCPackageVersion>
    <NETStandardPackageVersion>2.1.0-preview1-25818-01</NETStandardPackageVersion>
    <NETStandardPackageId>NETStandard.Library</NETStandardPackageId>
    <MicrosoftNETCoreAppPackageVersion>2.1.0-preview1-25818-02</MicrosoftNETCoreAppPackageVersion>
    <!-- Use the SNI runtime package -->
    <SniPackageVersion>4.4.0</SniPackageVersion>
  </PropertyGroup>

  <!-- Full package version strings that are used in other parts of the build. -->
  <PropertyGroup>
    <AppXRunnerVersion>1.0.3-prerelease-00921-01</AppXRunnerVersion>
    <XunitPerfAnalysisPackageVersion>1.0.0-beta-build0007</XunitPerfAnalysisPackageVersion>
    <TraceEventPackageVersion>1.0.3-alpha-experimental</TraceEventPackageVersion>
    <XunitNetcoreExtensionsVersion>1.0.1-prerelease-02118-01</XunitNetcoreExtensionsVersion>
  </PropertyGroup>

  <!-- Package dependency verification/auto-upgrade configuration. -->
  <PropertyGroup>
    <BaseDotNetBuildInfo>build-info/dotnet/</BaseDotNetBuildInfo>
    <DependencyBranch>master</DependencyBranch>
    <CurrentRefXmlPath>$(MSBuildThisFileFullPath)</CurrentRefXmlPath>
  </PropertyGroup>

  <ItemGroup>
    <RemoteDependencyBuildInfo Include="CoreFx">
      <BuildInfoPath>$(BaseDotNetBuildInfo)corefx/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(CoreFxCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>
    <RemoteDependencyBuildInfo Include="CoreClr">
      <BuildInfoPath>$(BaseDotNetBuildInfo)coreclr/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(CoreClrCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>
    <RemoteDependencyBuildInfo Include="CoreSetup">
      <BuildInfoPath>$(BaseDotNetBuildInfo)core-setup/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(CoreSetupCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>
    <RemoteDependencyBuildInfo Include="External">
      <BuildInfoPath>$(BaseDotNetBuildInfo)projectk-tfs/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(ExternalCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>
    <RemoteDependencyBuildInfo Include="Sni">
      <BuildInfoPath>$(BaseDotNetBuildInfo)sni/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(SniCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>
    <RemoteDependencyBuildInfo Include="Standard">
      <BuildInfoPath>$(BaseDotNetBuildInfo)standard/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(StandardCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>
    <RemoteDependencyBuildInfo Include="ProjectNTfs">
      <BuildInfoPath>$(BaseDotNetBuildInfo)projectn-tfs/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(ProjectNTfsCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>
    <RemoteDependencyBuildInfo Include="ProjectNTfsTestILC">
      <BuildInfoPath>$(BaseDotNetBuildInfo)projectn-tfs-testilc/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(ProjectNTfsTestILCCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>
    <RemoteDependencyBuildInfo Include="BuildTools">
      <BuildInfoPath>$(BaseDotNetBuildInfo)buildtools/$(DependencyBranch)</BuildInfoPath>
      <CurrentRef>$(BuildToolsCurrentRef)</CurrentRef>
    </RemoteDependencyBuildInfo>

    <DependencyBuildInfo Include="@(RemoteDependencyBuildInfo)">
      <RawVersionsBaseUrl>https://raw.githubusercontent.com/dotnet/versions</RawVersionsBaseUrl>
    </DependencyBuildInfo>

    <XmlUpdateStep Include="CoreFx">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>CoreFxExpectedPrerelease</ElementName>
      <BuildInfoName>CoreFx</BuildInfoName>
    </XmlUpdateStep>
    <XmlUpdateStep Include="CoreFx">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>PlatformPackageVersion</ElementName>
      <PackageId>Microsoft.NETCore.Platforms</PackageId>
    </XmlUpdateStep>
    <XmlUpdateStep Include="CoreClr">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>CoreClrPackageVersion</ElementName>
      <PackageId>Microsoft.NETCore.Runtime.CoreCLR</PackageId>
    </XmlUpdateStep>
    <XmlUpdateStep Include="External">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>ExternalExpectedPrerelease</ElementName>
      <BuildInfoName>External</BuildInfoName>
    </XmlUpdateStep>
    <XmlUpdateStep Include="Standard">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>NETStandardPackageVersion</ElementName>
      <PackageId>$(NETStandardPackageId)</PackageId>
    </XmlUpdateStep>
    <XmlUpdateStep Include="ProjectNTfs">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>ProjectNTfsExpectedPrerelease</ElementName>
      <BuildInfoName>ProjectNTfs</BuildInfoName>
    </XmlUpdateStep>
    <XmlUpdateStep Include="ProjectNTfsTestILC">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>ProjectNTfsTestILCExpectedPrerelease</ElementName>
      <BuildInfoName>ProjectNTfsTestILC</BuildInfoName>
    </XmlUpdateStep>
    <XmlUpdateStep Include="ProjectNTfsTestILC">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>ProjectNTfsTestILCPackageVersion</ElementName>
      <PackageId>TestILC.amd64ret</PackageId>
    </XmlUpdateStep>
    <XmlUpdateStep Include="Sni">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>SniPackageVersion</ElementName>
      <PackageId>runtime.win-x64.runtime.native.System.Data.SqlClient.sni</PackageId>
    </XmlUpdateStep>
    <XmlUpdateStep Include="CoreSetup">
      <Path>$(MSBuildThisFileFullPath)</Path>
      <ElementName>MicrosoftNETCoreAppPackageVersion</ElementName>
      <PackageId>Microsoft.NETCore.App</PackageId>
    </XmlUpdateStep>
    <UpdateStep Include="BuildTools">
      <UpdaterType>File</UpdaterType>
      <Path>$(MSBuildThisFileDirectory)BuildToolsVersion.txt</Path>
      <PackageId>Microsoft.DotNet.BuildTools</PackageId>
    </UpdateStep>
    <XmlUpdateStep Include="BuildTools">
       <Path>$(MSBuildThisFileFullPath)</Path>
       <ElementName>XunitNetcoreExtensionsVersion</ElementName>
       <PackageId>Microsoft.xunit.netcore.extensions</PackageId>
     </XmlUpdateStep>
  </ItemGroup>

  <PropertyGroup>
    <XUnitPackageVersion>2.3.0-beta1-build3642</XUnitPackageVersion>
  </PropertyGroup>

  <!-- Set up dependencies on packages that aren't found in a BuildInfo. -->
  <ItemGroup>
    <TargetingPackDependency Include="Microsoft.TargetingPack.NETFramework.v4.5" />
    <TargetingPackDependency Include="Microsoft.TargetingPack.NETFramework.v4.5.1" />
    <TargetingPackDependency Include="Microsoft.TargetingPack.NETFramework.v4.5.2" />
    <TargetingPackDependency Include="Microsoft.TargetingPack.NETFramework.v4.6" />
    <TargetingPackDependency Include="Microsoft.TargetingPack.NETFramework.v4.6.1" />
    <TargetingPackDependency Include="Microsoft.TargetingPack.NETFramework.v4.6.2" />
    <StaticDependency Include="@(TargetingPackDependency)">
      <Version>1.0.1</Version>
    </StaticDependency>

    <StaticDependency Include="Microsoft.TargetingPack.Private.WinRT">
      <Version>1.0.5</Version>
    </StaticDependency>

    <XUnitDependency Include="xunit"/>
    <XUnitDependency Include="xunit.runner.utility"/>
    <XUnitDependency Include="xunit.runner.console"/>
    <StaticDependency Include="@(XUnitDependency)">
      <Version>$(XUnitPackageVersion)</Version>
    </StaticDependency>

    <StaticDependency Include="Microsoft.xunit.netcore.extensions;Microsoft.DotNet.BuildTools.TestSuite">
      <Version>$(XunitNetcoreExtensionsVersion)</Version>
    </StaticDependency>

    <PerformancePackDependency Include="xunit.performance.core" />
    <PerformancePackDependency Include="xunit.performance.api" />
    <PerformancePackDependency Include="xunit.performance.execution" />
    <PerformancePackDependency Include="xunit.performance.metrics" />
    <StaticDependency Include="@(PerformancePackDependency)">
      <Version>$(XunitPerfAnalysisPackageVersion)</Version>
    </StaticDependency>

    <DependencyBuildInfo Include="@(StaticDependency)">
      <PackageId>%(Identity)</PackageId>
      <UpdateStableVersions>true</UpdateStableVersions>
    </DependencyBuildInfo>

    <DependencyBuildInfo Include="uwpRunnerVersion">
      <PackageId>microsoft.xunit.runner.uwp</PackageId>
      <Version>$(AppXRunnerVersion)</Version>
    </DependencyBuildInfo>

    <!-- project.json files to update -->
    <ProjectJsonFiles Include="$(MSBuildThisFileDirectory)external\**\optional.json" />
  </ItemGroup>
</Project>