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

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dir.traversal.targets')
-rw-r--r--dir.traversal.targets103
1 files changed, 103 insertions, 0 deletions
diff --git a/dir.traversal.targets b/dir.traversal.targets
new file mode 100644
index 000000000..ad5a7102b
--- /dev/null
+++ b/dir.traversal.targets
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <Target Name="BuildAllProjects">
+ <PropertyGroup>
+ <DefaultBuildAllTarget Condition="'$(DefaultBuildAllTarget)'==''">$(MSBuildProjectDefaultTargets)</DefaultBuildAllTarget>
+ </PropertyGroup>
+
+ <!-- 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="$(DefaultBuildAllTarget)"
+ Projects="@(Project)"
+ Condition="'$(SerializeProjects)'=='true'"
+ Properties="Dummy=%(Identity);DefaultBuildAllTarget=$(DefaultBuildAllTarget);BuildAllProjects=true"
+ ContinueOnError="ErrorAndContinue" />
+
+ <MSBuild Targets="$(DefaultBuildAllTarget)"
+ Projects="@(Project)"
+ Condition="'$(SerializeProjects)'!='true'"
+ Properties="DefaultBuildAllTarget=$(DefaultBuildAllTarget);BuildAllProjects=true"
+ BuildInParallel="true"
+ ContinueOnError="ErrorAndContinue" />
+
+ <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
+ <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
+ </Target>
+
+ <Target Name="CleanAllProjects">
+ <PropertyGroup>
+ <DefaultCleanAllTarget Condition="'$(DefaultCleanAllTarget)'==''">Clean</DefaultCleanAllTarget>
+ </PropertyGroup>
+
+ <!-- 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="$(DefaultCleanAllTarget)"
+ Projects="@(Project)"
+ Condition="'$(SerializeProjects)'=='true'"
+ Properties="Dummy=%(Identity);CleanAllProjects=true"
+ ContinueOnError="ErrorAndContinue" />
+
+ <MSBuild Targets="$(DefaultCleanAllTarget)"
+ Projects="@(Project)"
+ Condition="'$(SerializeProjects)'!='true'"
+ Properties="CleanAllProjects=true"
+ BuildInParallel="true"
+ ContinueOnError="ErrorAndContinue" />
+
+ <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
+ <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
+ </Target>
+
+ <Target Name="RestoreAllProjectPackages">
+ <Message Importance="High" Text="Restoring project packages..." />
+
+ <PropertyGroup>
+ <DefaultRestoreAllPackagesTarget Condition="'$(DefaultRestoreAllPackagesTarget)'==''">RestorePackages</DefaultRestoreAllPackagesTarget>
+ </PropertyGroup>
+
+ <!-- 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="$(DefaultRestoreAllPackagesTarget)"
+ Projects="@(Project)"
+ Condition="'$(SerializeProjects)'=='true'"
+ Properties="Dummy=%(Identity);RestoreAllPackages=true"
+ ContinueOnError="ErrorAndContinue" />
+
+ <MSBuild Targets="$(DefaultRestoreAllPackagesTarget)"
+ Projects="@(Project)"
+ Condition="'$(SerializeProjects)'!='true'"
+ Properties="RestoreAllPackages=true"
+ BuildInParallel="true"
+ ContinueOnError="ErrorAndContinue" />
+
+ <!-- Given we ErrorAndContinue we need to propagate the error if the overall task failed -->
+ <Error Condition="'$(MSBuildLastTaskResult)'=='false'" />
+ </Target>
+
+ <PropertyGroup>
+ <TraversalBuildDependsOn>
+ BuildAllProjects;
+ $(TraversalBuildDependsOn);
+ </TraversalBuildDependsOn>
+
+ <TraversalCleanDependsOn>
+ CleanAllProjects;
+ $(TraversalCleanDependsOn);
+ </TraversalCleanDependsOn>
+
+ <TraversalRestorePackagesDependsOn>
+ RestoreAllProjectPackages;
+ $(TraversalRestorePackagesDependsOn)
+ </TraversalRestorePackagesDependsOn>
+ </PropertyGroup>
+
+ <Target Name="Build" DependsOnTargets="$(TraversalBuildDependsOn)" />
+
+ <Target Name="Clean" DependsOnTargets="$(TraversalCleanDependsOn)" />
+
+ <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
+
+ <Target Name="RestorePackages" DependsOnTargets="$(TraversalRestorePackagesDependsOn)" />
+
+</Project> \ No newline at end of file