﻿<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <ProjectGuid>{EAB1753E-491E-449E-BCF3-50127DE63EE1}</ProjectGuid>
    <OutputType>Exe</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Org.Apache.REEF.Examples.DriverRestart</RootNamespace>
    <AssemblyName>Org.Apache.REEF.Examples.DriverRestart</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..</SolutionDir>
      </PropertyGroup>
  <Import Project="$(SolutionDir)\build.props" />
  <PropertyGroup>
    <RestorePackages>true</RestorePackages>
	<BuildPackage>false</BuildPackage>
    <UseVSHostingProcess>false</UseVSHostingProcess>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="DriverRestart.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="packages.config" />
    <None Include="Readme.md" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Bridge\Org.Apache.REEF.Bridge.vcxproj">
      <Project>{4e69d40a-26d6-4d4a-b96d-729946c07fe1}</Project>
      <Name>Org.Apache.REEF.Bridge</Name>
    </ProjectReference>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Client\Org.Apache.REEF.Client.csproj">
      <Project>{5094c35b-4fdb-4322-ac05-45d684501cbf}</Project>
      <Name>Org.Apache.REEF.Client</Name>
    </ProjectReference>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Common\Org.Apache.REEF.Common.csproj">
      <Project>{545a0582-4105-44ce-b99c-b1379514a630}</Project>
      <Name>Org.Apache.REEF.Common</Name>
    </ProjectReference>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Driver\Org.Apache.REEF.Driver.csproj">
      <Project>{a6baa2a7-f52f-4329-884e-1bcf711d6805}</Project>
      <Name>Org.Apache.REEF.Driver</Name>
    </ProjectReference>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Evaluator\Org.Apache.REEF.Evaluator.csproj">
      <Project>{1b983182-9c30-464c-948d-f87eb93a8240}</Project>
      <Name>Org.Apache.REEF.Evaluator</Name>
    </ProjectReference>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Tang\Org.Apache.REEF.Tang.csproj">
      <Project>{97dbb573-3994-417a-9f69-ffa25f00d2a6}</Project>
      <Name>Org.Apache.REEF.Tang</Name>
    </ProjectReference>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Utilities\Org.Apache.REEF.Utilities.csproj">
      <Project>{79e7f89a-1dfb-45e1-8d43-d71a954aeb98}</Project>
      <Name>Org.Apache.REEF.Utilities</Name>
    </ProjectReference>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Wake\Org.Apache.REEF.Wake.csproj">
      <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
      <Name>Org.Apache.REEF.Wake</Name>
    </ProjectReference>
    <ProjectReference Include="$(SolutionDir)\Org.Apache.REEF.Examples\Org.Apache.REEF.Examples.csproj">
      <Project>{75503f90-7b82-4762-9997-94b5c68f15db}</Project>
      <Name>Org.Apache.REEF.Examples</Name>
    </ProjectReference>
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
  <Import Project="$(PackagesDir)\StyleCop.MSBuild.4.7.49.1\build\StyleCop.MSBuild.Targets" Condition="Exists('$(PackagesDir)\StyleCop.MSBuild.4.7.49.1\build\StyleCop.MSBuild.Targets')" />
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
  </Target>
</Project>
