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:
authordotnet-bot <dotnet-bot@microsoft.com>2015-09-30 03:10:41 +0300
committerMichal Strehovský <michals@microsoft.com>2015-09-30 03:21:51 +0300
commite16c8bb5304044c643b5266691703abe2b115550 (patch)
treeb6a2f7368c9648e93df955688555f919bd991c8c /dir.traversal.targets
parentc32c5bc365c53ac021808632b2696fdb11477aad (diff)
Add initial corert build scripts
Populating repo with build infrastructure from the corefx project. Scripts are copied verbatim from the corefx repo as of commit 1ee4f60145a851adbacbb16e7b0c65bec3ec0d02. Only minor changes were done to remove corefx-specific workarounds. Also integrating the type system into the build.
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