9064f3c9356e9644a2ab4f045b5c6bef363678fd
[platform/upstream/coreclr.git] / tests / build.proj
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3   <Import Project="dir.props" />
4
5   <!-- Inline task to bootstrap the build to enable downloading nuget.exe -->
6   <UsingTask TaskName="DownloadFile" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
7     <ParameterGroup>
8       <Address ParameterType="System.String" Required="true"/>
9       <FileName ParameterType="System.String" Required="true" />
10     </ParameterGroup>
11     <Task>
12       <Reference Include="System" />
13       <Code Type="Fragment" Language="cs">
14         <![CDATA[
15            var directory = System.IO.Path.GetDirectoryName(FileName);
16            System.IO.Directory.CreateDirectory(directory);
17            var client = new System.Net.WebClient();
18            client.Proxy = System.Net.WebRequest.DefaultWebProxy;
19            client.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
20            client.DownloadFile(Address, FileName);
21         ]]>
22       </Code>
23     </Task>
24   </UsingTask>
25
26   <Target Name="_RestoreBuildTools"
27     BeforeTargets="BuildAllProjects"
28     Inputs="$(BuildToolsTargetInputs)"
29     Outputs="$(BuildToolsTargetOutputs)"
30     >
31     <Message Importance="High" Text="Restoring build tools..." />
32
33     <!-- Download latest nuget.exe -->
34     <DownloadFile
35       Condition="!Exists($(NuGetToolPath))"
36       Address="https://nuget.org/nuget.exe"
37       FileName="$(NuGetToolPath)" />
38
39     <!-- Restore build tools -->
40     <Exec
41       StandardOutputImportance="Low"
42       Command="&quot;$(NuGetToolPath)&quot; install &quot; $(SourceDir).nuget\packages.config &quot;  -o &quot; $(PackagesDir) &quot; $(NuGetConfigCommandLine)" />
43
44     <Touch Files="$(BuildToolsInstallSemaphore)" AlwaysCreate="true" />
45   </Target>
46
47   <ItemGroup>
48     <Project Include="src\dirs.proj" />
49   </ItemGroup>
50
51   <Import Project="dir.traversal.targets" />
52
53   <!-- Override clean from dir.traversal.targets and just remove the full BinDir -->
54   <Target Name="Clean">
55     <RemoveDir Directories="$(PackagesDir)" />
56   </Target>
57 </Project>