diff --git a/build/repo.targets b/build/repo.targets
index 8b0782c1b0..5d67fafd0d 100644
--- a/build/repo.targets
+++ b/build/repo.targets
@@ -57,12 +57,13 @@
+ <_CloneRepositories Include="@(Repository);@(VerifyRepositories)" />
<_CloneRepository Include="$(MSBuildProjectFullPath)">
- CloneRepository=%(Repository.Identity);
- CloneUrl=%(Repository.CloneUrl);
- CloneBranch=%(Repository.Branch);
- CloneRepositoryCommit=%(Repository.Commit);
+ CloneRepository=%(_CloneRepositories.Identity);
+ CloneUrl=%(_CloneRepositories.CloneUrl);
+ CloneBranch=%(_CloneRepositories.Branch);
+ CloneRepositoryCommit=%(_CloneRepositories.Commit);
UseGateBranch=$(UseGateBranch)
@@ -110,12 +111,22 @@
Condition="'$(CloneRepositoryCommit)'!=''" />
+
+
+
+
+
+
+
+
-
+
%(Repository.Identity)
diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks
index b858cdc4aa..dec196d939 100644
--- a/build/tasks/RepoTasks.tasks
+++ b/build/tasks/RepoTasks.tasks
@@ -4,4 +4,5 @@
-
\ No newline at end of file
+
+
diff --git a/build/tasks/VerifyBuildGraph.cs b/build/tasks/VerifyBuildGraph.cs
new file mode 100644
index 0000000000..5e69965aac
--- /dev/null
+++ b/build/tasks/VerifyBuildGraph.cs
@@ -0,0 +1,37 @@
+// 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.Collections.Generic;
+using System.Linq;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+namespace RepoTasks
+{
+ public class VerifyBuildGraph : Task
+ {
+ ///
+ /// Repositories that we are building new versions of.
+ ///
+ [Required]
+ public ITaskItem[] BuildRepositories { get; set; }
+
+ ///
+ /// Repos that have already been build and released. We don't compile and build them,
+ /// but we still want to be sure their packages are accounted for in our graph calculations.
+ ///
+ public ITaskItem[] NoBuildRepositories { get; set; }
+
+ ///
+ /// New packages we are compiling. Used in the pin tool.
+ ///
+ [Output]
+ public ITaskItem[] PackagesToBeProduced { get; set; }
+
+ public override bool Execute()
+ {
+ return false;
+ }
+ }
+}