summaryrefslogtreecommitdiff
path: root/tests/build.proj
diff options
context:
space:
mode:
authorMatt Mitchell <mmitche@microsoft.com>2015-07-06 16:12:43 -0700
committerMatt Mitchell <mmitche@microsoft.com>2015-07-09 16:20:11 -0700
commit1972ec27c9a570460dde377ff910325b0017507b (patch)
tree7c3aa8f49005bfaa5c6a8742427783aac778e195 /tests/build.proj
parenteed62e377af693f0288587a3600c89e258e614a6 (diff)
downloadcoreclr-1972ec27c9a570460dde377ff910325b0017507b.tar.gz
coreclr-1972ec27c9a570460dde377ff910325b0017507b.tar.bz2
coreclr-1972ec27c9a570460dde377ff910325b0017507b.zip
Move CoreCLR to the modern build tools and dnx
This changes moves coreclr onto DNX (same version as corefx). Theoretically, this should allow these tests to target the desktop CLR. All of the old package.config files are gone and replaced with corresponding project.json files. The up front restore behavior is retained. Tests are now buildable individually, though not runnable in a similar fashion.
Diffstat (limited to 'tests/build.proj')
-rw-r--r--tests/build.proj60
1 files changed, 18 insertions, 42 deletions
diff --git a/tests/build.proj b/tests/build.proj
index 9064f3c935..6d4c350bef 100644
--- a/tests/build.proj
+++ b/tests/build.proj
@@ -2,53 +2,29 @@
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dir.props" />
- <!-- 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="_RestoreBuildTools"
- BeforeTargets="BuildAllProjects"
- Inputs="$(BuildToolsTargetInputs)"
- Outputs="$(BuildToolsTargetOutputs)"
- >
- <Message Importance="High" Text="Restoring build tools..." />
-
- <!-- Download latest nuget.exe -->
- <DownloadFile
- Condition="!Exists($(NuGetToolPath))"
- Address="https://nuget.org/nuget.exe"
- FileName="$(NuGetToolPath)" />
-
- <!-- Restore build tools -->
- <Exec
- StandardOutputImportance="Low"
- Command="&quot;$(NuGetToolPath)&quot; install &quot; $(SourceDir).nuget\packages.config &quot; -o &quot; $(PackagesDir) &quot; $(NuGetConfigCommandLine)" />
-
- <Touch Files="$(BuildToolsInstallSemaphore)" AlwaysCreate="true" />
- </Target>
-
<ItemGroup>
<Project Include="src\dirs.proj" />
</ItemGroup>
+ <Import Project="dir.targets" />
+
<Import Project="dir.traversal.targets" />
+
+ <PropertyGroup>
+ <TraversalBuildDependsOn>
+ BatchRestorePackages;
+ $(TraversalBuildDependsOn);
+ </TraversalBuildDependsOn>
+ </PropertyGroup>
+
+ <Target Name="BatchRestorePackages">
+ <Message Importance="High" Text="Restoring all packages..." />
+ <!-- restore all project.jsons in one pass for perf & to avoid concurrency problems with dnu -->
+ <Exec Command="$(DnuRestoreCommand) $(DnuRestoreDirs)" StandardOutputImportance="Low" CustomErrorRegularExpression="^Unable to locate .*" />
+ </Target>
+
+ <!-- Override RestorePackages from dir.traversal.targets and do a batch restore -->
+ <Target Name="RestorePackages" DependsOnTargets="BatchRestorePackages" />
<!-- Override clean from dir.traversal.targets and just remove the full BinDir -->
<Target Name="Clean">