Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchcosta <chcosta@microsoft.com>2016-04-14 05:14:10 +0300
committerchcosta <chcosta@microsoft.com>2016-04-14 05:14:10 +0300
commitc1ec94b74183f598513199cde0d799a514c0a0fb (patch)
treee5007a23c6cf3290892996fd45b9da5fa6adf7ef /dir.traversal.targets
parente88bf5f29be03434bb7b6385c93534deef4a5731 (diff)
Enable project reference to package dependency conversion for test bu…
* Enable project refrence to package dependency conversion in test builds •Opts some tests out of the process with "KeepAllProjectReferences" •Opts some project references out of conversion with "KeepProjectReference" •pulls in maririos change to sync.cmd •Respond to PR feedback Note: Generated project.json's fail to restore because of missing test-runtime property in frameworks which now have dependencies but previously did not. * Move global.json to root so that generated project.json's can find it for the test-runtime * System.Reflection.Context does not run on dnxcore50, but the project.json has that specified as the framework. Can't convert this to netcore50 because there is no current test-runtime for netcore50. Leave project reference when doing a test build against packages so that it can use the netcore50 implementation directly.
Diffstat (limited to 'dir.traversal.targets')
-rw-r--r--dir.traversal.targets43
1 files changed, 43 insertions, 0 deletions
diff --git a/dir.traversal.targets b/dir.traversal.targets
index 439f4dfbb0..4632cab829 100644
--- a/dir.traversal.targets
+++ b/dir.traversal.targets
@@ -175,6 +175,36 @@
<Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
</Target>
+ <Target Name="GenerateAllTestProjectJsons">
+ <PropertyGroup>
+ <DefaultGenerateAllTestProjectJsonsTarget Condition="'$(DefaultGenerateAllTestProjectJsonsTarget)' == ''">GenerateAllTestProjectJsons</DefaultGenerateAllTestProjectJsonsTarget>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <GeneratedProject Include="@(Project)">
+ <AdditionalProperties>GeneratedTargetGroup=%(Project.TargetGroup);GeneratedOSGroup=%(Project.OSGroup);%(Project.AdditionalProperties)</AdditionalProperties>
+ </GeneratedProject>
+ </ItemGroup>
+
+ <!-- To Serialize we use msbuild's batching functionality '%' to force it to batch all similar projects with the same identity
+ however since the project names are unique it will essentially force each to run in its own batch -->
+ <MSBuild Targets="$(DefaultGenerateAllTestProjectJsonsTarget)"
+ Projects="@(GeneratedProject)"
+ Condition="'$(SerializeProjects)' != 'true'"
+ Properties="GenerateAllTestProjectJsons=$(DefaultGenerateAllTestProjectJsonsTarget)"
+ BuildInParallel="true"
+ ContinueOnError="ErrorAndContinue" />
+
+ <MSBuild Targets="$(DefaultGenerateAllTestProjectJsonsTarget)"
+ Projects="@(GeneratedProject)"
+ Condition="'$(SerializeProjects)' == 'true' AND '%(Identity)' != ''"
+ Properties="GenerateAllTestProjectJsons=$(DefaultGenerateAllTestProjectJsonsTarget)"
+ ContinueOnError="ErrorAndContinue" />
+
+ <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
+ <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
+ </Target>
+
<PropertyGroup>
<TraversalBuildDependsOn>
BuildAllProjects;
@@ -186,10 +216,20 @@
$(TraversalCleanDependsOn);
</TraversalCleanDependsOn>
+ <TraversalGenerateTestProjectJsonsDependsOn>
+ GenerateAllTestProjectJsons;
+ $(TraversalGenerateTestProjectJsonsDependsOn)
+ </TraversalGenerateTestProjectJsonsDependsOn>
+
<TraversalRestorePackagesDependsOn>
RestoreAllProjectPackages;
$(TraversalRestorePackagesDependsOn)
</TraversalRestorePackagesDependsOn>
+
+ <TraversalRestorePackagesDependsOn Condition="'$(_BuildAgainstPackages)' == 'true'">
+ $(TraversalGenerateTestProjectJsonsDependsOn);
+ $(TraversalRestorePackagesDependsOn)
+ </TraversalRestorePackagesDependsOn>
</PropertyGroup>
<Target Name="Build" DependsOnTargets="$(TraversalBuildDependsOn)" />
@@ -203,4 +243,7 @@
<Target Name="RebuildAndTest" DependsOnTargets="Rebuild;Test" />
<Target Name="Test" />
+ <!-- Target will be overridden if buildagainstpackages.targets is imported. -->
+ <Target Name="GenerateTestProjectJson" />
+ <Import Condition="'$(_BuildAgainstPackages)' == 'true'" Project="$(ToolsDir)/buildagainstpackages.targets" />
</Project>