-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" InitialTargets="CheckForBuildTools" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <!-- Inline task to bootstrap the build to enable downloading nuget.exe -->
- <UsingTask TaskName="DownloadFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
- <ParameterGroup>
- <Address ParameterType="System.String" Required="true"/>
- <FileName ParameterType="System.String" Required="true" />
- </ParameterGroup>
- <Task>
- <Reference Include="System" />
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- var directory = System.IO.Path.GetDirectoryName(FileName);
- System.IO.Directory.CreateDirectory(directory);
- var client = new System.Net.WebClient();
- client.Proxy = System.Net.WebRequest.DefaultWebProxy;
- client.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
- client.DownloadFile(Address, FileName);
- ]]>
- </Code>
- </Task>
- </UsingTask>
+ <Target Name="CheckForBuildTools">
+ <Error Condition="!Exists('$(ToolsDir)')"
+ Text="The tools directory [$(ToolsDir)] does not exist. Please run init-tools.cmd in your enlistment to ensure the tools are installed before attempting to build an individual project." />
+ </Target>
- <Target Name="_RestoreBuildTools"
- BeforeTargets="Build"
- Inputs="$(BuildToolsCoreCLRTargetInputs)"
- Outputs="$(BuildToolsCoreCLRTargetOutputs)"
- >
+ <!-- Provide default targets which can be hooked onto or overridden as necessary -->
+ <Target Name="BuildAndTest" DependsOnTargets="Build;Test" />
+ <Target Name="RebuildAndTest" DependsOnTargets="Rebuild;Test" />
+ <Target Name="Test" />
- <!-- Download latest nuget.exe -->
- <DownloadFile
- Condition="!Exists($(NuGetToolPath))"
- Address="https://nuget.org/nuget.exe"
- FileName="$(NuGetToolPath)" />
+ <Import Project="$(ToolsDir)/Build.Common.targets" Condition="'$(UseLiveBuildTools)' != 'true'" />
- <!-- Restore build tools -->
- <Exec
- StandardOutputImportance="Low"
- Command=""$(NuGetToolPath)" install " $(SourceDir).nuget\packages.config " -o " $(ToolsDir) " $(NuGetConfigCommandLine)" />
+</Project>
- <Touch Files="$(BuildToolsInstallSemaphore)" AlwaysCreate="true" />
- </Target>
-</Project>
\ No newline at end of file