From 9eb27fa53fc0722ea4b6d1fe940077e0a5d6790e Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 14 Sep 2017 14:48:11 -0700 Subject: [PATCH] Stub out a task to validate cascading version effects (#557) --- build/repo.targets | 21 ++++++++++++++----- build/tasks/RepoTasks.tasks | 3 ++- build/tasks/VerifyBuildGraph.cs | 37 +++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 build/tasks/VerifyBuildGraph.cs 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; + } + } +}