diff --git a/build/RepositoryBuild.targets b/build/RepositoryBuild.targets
index 0e0216fbde..7a045b06cf 100644
--- a/build/RepositoryBuild.targets
+++ b/build/RepositoryBuild.targets
@@ -1,5 +1,15 @@
-
+
+
+
+ false
+
+ <_NoBuildRepos>$(NoBuild)
+ <_BuildScriptToExecute Condition="'$(OS)'!='Windows_NT'">build.sh
+ <_BuildScriptToExecute Condition="'$(OS)'=='Windows_NT'">build.cmd
+
+
+
%(RepositoryBuildOrder.Order)
@@ -10,33 +20,52 @@
+
-
- true
- false
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ <_NoBuildRepos>true
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
$(RepositoryBuildArguments) /p:AspNetUniverseBuildOffline=true
@@ -47,14 +76,15 @@
$(RepositoryBuildArguments) /p:Configuration=$(Configuration)
$(RepositoryBuildArguments) /p:IsFinalBuild=$(IsFinalBuild)
$(RepositoryBuildArguments) /noconsolelogger '/l:RepoTasks.FlowLogger,$(MSBuildThisFileDirectory)tasks\bin\publish\RepoTasks.dll;Summary;FlowId=$(RepositoryToBuild)'
+
+
- /t:CleanArtifacts $(_RepositoryBuildTargets) $(RepositoryBuildArguments)
+
+
+ /t:CleanArtifacts /t:Build /p:SkipTests=true $(RepositoryBuildArguments)
$(BuildRepositoryRoot)artifacts
$(RepositoryArtifactsRoot)\build\
$(RepositoryArtifactsRoot)\msbuild\
-
- <_BuildScriptToExecute Condition="'$(OS)'!='Windows_NT'">build.sh
- <_BuildScriptToExecute Condition="'$(OS)'=='Windows_NT'">build.cmd
@@ -84,4 +114,34 @@
+
+
+ /t:Test /p:NoBuild=$(_NoBuildRepos) $(RepositoryBuildArguments)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/Templating.targets b/build/Templating.targets
index 09300567f0..c199b1c775 100644
--- a/build/Templating.targets
+++ b/build/Templating.targets
@@ -14,16 +14,11 @@
IsFinalBuild=$(IsFinalBuild);
SkipAspNetCoreRuntimeInstall=true;
- CleanArtifacts;Restore;Compile;Package
-
- $(TemplateProjTargets);
- Test;
-
+ Targets="CleanArtifacts;Build"
+ Properties="$(TemplateProjProperties);SkipTests=true" />
diff --git a/build/repo.targets b/build/repo.targets
index d1477e8be7..a9b2998960 100644
--- a/build/repo.targets
+++ b/build/repo.targets
@@ -8,20 +8,19 @@
- <_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'=='' AND '$(SkipTests)'=='true'">/t:Package /t:VerifyPackages
- <_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'==''">/t:Build
$(IntermediateDir)mirror\
$(IntermediateDir)ext\
- $(IntermediateDir)dependencies.props
- $(IntermediateDir)sources.props
+ $(IntermediateDir)dependencies.g.props
+ $(IntermediateDir)sources.g.props
$(PrepareDependsOn);VerifyPackageArtifactConfig;PrepareOutputPaths
$(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts
$(RestoreDependsOn);InstallDotNet;RestoreExternalDependencies
$(CompileDependsOn);BuildRepositories
$(PackageDependsOn);BuildMetapackage;BuildTemplates;SplitPackages
+ $(TestDependsOn);_TestRepositories
$(VerifyDependsOn);VerifyCoherentVersions
$(GetArtifactInfoDependsOn);ResolveRepoInfo
@@ -114,6 +113,7 @@
diff --git a/build/tasks/OrderBy.cs b/build/tasks/OrderBy.cs
new file mode 100644
index 0000000000..a761d6f093
--- /dev/null
+++ b/build/tasks/OrderBy.cs
@@ -0,0 +1,28 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Linq;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+namespace RepoTasks
+{
+ public class OrderBy : Task
+ {
+ [Required]
+ [Output]
+ public ITaskItem[] Items { get; set; }
+
+ public string Key { get; set; }
+
+ public override bool Execute()
+ {
+ var key = string.IsNullOrEmpty(Key)
+ ? "Identity"
+ : Key;
+ Items = Items.OrderBy(k => k.GetMetadata(key)).ToArray();
+ return true;
+ }
+ }
+}
diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks
index e1a43cf51f..1176f79344 100644
--- a/build/tasks/RepoTasks.tasks
+++ b/build/tasks/RepoTasks.tasks
@@ -12,6 +12,7 @@
+