Merge pull request #906 from dotnet-bot/from-tfs
[platform/upstream/coreclr.git] / dir.targets
1 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2   
3   <!-- Inline task to bootstrap the build to enable downloading nuget.exe -->
4   <UsingTask TaskName="DownloadFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
5     <ParameterGroup>
6       <Address ParameterType="System.String" Required="true"/>
7       <FileName ParameterType="System.String" Required="true" />
8     </ParameterGroup>
9     <Task>
10       <Reference Include="System" />
11       <Code Type="Fragment" Language="cs">
12         <![CDATA[
13            var directory = System.IO.Path.GetDirectoryName(FileName);
14            System.IO.Directory.CreateDirectory(directory);
15            var client = new System.Net.WebClient();
16            client.Proxy = System.Net.WebRequest.DefaultWebProxy;
17            client.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
18            client.DownloadFile(Address, FileName);
19         ]]>
20       </Code>
21     </Task>
22   </UsingTask>
23
24   <Target Name="_RestoreBuildTools"
25     BeforeTargets="Build"
26     Inputs="$(BuildToolsCoreCLRTargetInputs)"
27     Outputs="$(BuildToolsCoreCLRTargetOutputs)"
28     >
29
30     <!-- Download latest nuget.exe -->
31     <DownloadFile
32       Condition="!Exists($(NuGetToolPath))"
33       Address="https://nuget.org/nuget.exe"
34       FileName="$(NuGetToolPath)" />
35
36     <!-- Restore build tools -->
37     <Exec
38       StandardOutputImportance="Low"
39       Command="&quot;$(NuGetToolPath)&quot; install &quot;$(PackagesGlobalConfig)&quot;  -o &quot;$(ToolsDir.Trim('\'))&quot; $(NuGetConfigCommandLine)" />
40
41     <Touch Files="$(BuildToolsInstallSemaphore)" AlwaysCreate="true" />
42   </Target>
43 </Project>