From faf600ce71834c23afa717289b39780cb83ad6f9 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 30 May 2018 10:58:10 -0700 Subject: [PATCH 01/10] Fixup the effect of cascading versions (#1187) The PR #1175 was incomplete. This fixes the cascading effect of patching to 2.1.1 Changes: - add CheckRepoGraph (ported directly from the release/2.0 branch) - Update submodules --- build/artifacts.props | 52 ++++++++ build/external-dependencies.props | 55 +------- build/repo.targets | 6 + build/submodules.props | 24 ++-- build/tasks/CheckRepoGraph.cs | 214 ++++++++++++++++++++++++++++++ build/tasks/RepoTasks.tasks | 1 + modules/AADIntegration | 2 +- modules/AzureIntegration | 2 +- modules/Diagnostics | 2 +- modules/Identity | 2 +- modules/JavaScriptServices | 2 +- modules/MetaPackages | 2 +- modules/Proxy | 2 +- modules/StaticFiles | 2 +- modules/WebHooks | 2 +- modules/WebSockets | 2 +- 16 files changed, 296 insertions(+), 76 deletions(-) create mode 100644 build/tasks/CheckRepoGraph.cs diff --git a/build/artifacts.props b/build/artifacts.props index c909b76092..a1df1c0583 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -23,9 +23,11 @@ + + @@ -40,12 +42,33 @@ + + + + + + + + + + + + + + + + + + + + + @@ -66,6 +89,10 @@ + + + + @@ -85,6 +112,25 @@ + + + + + + + + + + + + + + + + + + + @@ -106,6 +152,11 @@ + + + + + @@ -119,6 +170,7 @@ + diff --git a/build/external-dependencies.props b/build/external-dependencies.props index a959419737..fe426974c5 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -164,16 +164,11 @@ - - - - - @@ -188,12 +183,6 @@ - - - - - - @@ -208,27 +197,10 @@ - - - - - - - - - - - - - - - - - @@ -241,32 +213,12 @@ - - - - - - - - - - - - - - - - - - - - @@ -292,9 +244,7 @@ - - - + @@ -304,8 +254,6 @@ - - @@ -337,7 +285,6 @@ - diff --git a/build/repo.targets b/build/repo.targets index 32e0796db9..85b652c3e1 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -164,6 +164,12 @@ + + + + + + + + + + + + + + - - - @@ -29,7 +38,6 @@ - @@ -38,24 +46,16 @@ - - - - - - - - diff --git a/build/tasks/CheckRepoGraph.cs b/build/tasks/CheckRepoGraph.cs new file mode 100644 index 0000000000..5502d7316c --- /dev/null +++ b/build/tasks/CheckRepoGraph.cs @@ -0,0 +1,214 @@ +// 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; +using System.Collections.Generic; +using System.Linq; +using System.IO; +using System.Text; +using System.Threading; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; +using NuGet.Frameworks; +using NuGet.Packaging.Core; +using NuGet.Versioning; +using RepoTools.BuildGraph; +using RepoTasks.ProjectModel; +using RepoTasks.Utilities; + +namespace RepoTasks +{ + public class CheckRepoGraph : Task, ICancelableTask + { + private readonly CancellationTokenSource _cts = new CancellationTokenSource(); + + [Required] + public ITaskItem[] Solutions { get; set; } + + [Required] + public ITaskItem[] Artifacts { get; set; } + + [Required] + public ITaskItem[] Repositories { get; set; } + + [Required] + public string Properties { get; set; } + + public void Cancel() + { + _cts.Cancel(); + } + + public override bool Execute() + { + var packageArtifacts = Artifacts.Select(ArtifactInfo.Parse) + .OfType() + .Where(p => !p.IsSymbolsArtifact) + .ToDictionary(p => p.PackageInfo.Id, p => p, StringComparer.OrdinalIgnoreCase); + + var factory = new SolutionInfoFactory(Log, BuildEngine5); + var props = MSBuildListSplitter.GetNamedProperties(Properties); + + if (!props.TryGetValue("Configuration", out var defaultConfig)) + { + defaultConfig = "Debug"; + } + + var solutions = factory.Create(Solutions, props, defaultConfig, _cts.Token).OrderBy(f => f.Directory).ToList(); + Log.LogMessage($"Found {solutions.Count} and {solutions.Sum(p => p.Projects.Count)} projects"); + + if (_cts.IsCancellationRequested) + { + return false; + } + + var repoGraph = new AdjacencyMatrix(solutions.Count); + var packageToProjectMap = new Dictionary(); + + for (var i = 0; i < solutions.Count; i++) + { + var sln = repoGraph[i] = solutions[i]; + + foreach (var proj in sln.Projects) + { + if (!proj.IsPackable + || proj.FullPath.Contains("samples") + || proj.FullPath.Contains("tools/Microsoft.VisualStudio.Web.CodeGeneration.Design")) + { + continue; + } + + var id = new PackageIdentity(proj.PackageId, new NuGetVersion(proj.PackageVersion)); + + if (packageToProjectMap.TryGetValue(id, out var otherProj)) + { + Log.LogError($"Both {proj.FullPath} and {otherProj.FullPath} produce {id}"); + continue; + } + + packageToProjectMap.Add(id, proj); + } + + var sharedSrc = Path.Combine(sln.Directory, "shared"); + if (Directory.Exists(sharedSrc)) + { + foreach (var dir in Directory.GetDirectories(sharedSrc, "*.Sources")) + { + var id = GetDirectoryName(dir); + var artifactInfo = packageArtifacts[id]; + var sharedSrcProj = new ProjectInfo(dir, + Array.Empty(), + Array.Empty(), + true, + artifactInfo.PackageInfo.Id, + artifactInfo.PackageInfo.Version.ToNormalizedString()); + sharedSrcProj.SolutionInfo = sln; + var identity = new PackageIdentity(artifactInfo.PackageInfo.Id, artifactInfo.PackageInfo.Version); + packageToProjectMap.Add(identity, sharedSrcProj); + } + } + } + + if (Log.HasLoggedErrors) + { + return false; + } + + for (var i = 0; i < solutions.Count; i++) + { + var src = repoGraph[i]; + + foreach (var proj in src.Projects) + { + if (!proj.IsPackable + || proj.FullPath.Contains("samples")) + { + continue; + } + + foreach (var dep in proj.Frameworks.SelectMany(f => f.Dependencies.Values)) + { + if (packageToProjectMap.TryGetValue(new PackageIdentity(dep.Id, new NuGetVersion(dep.Version)), out var target)) + { + var j = repoGraph.FindIndex(target.SolutionInfo); + repoGraph.SetLink(i, j); + } + } + + foreach (var toolDep in proj.Tools) + { + if (packageToProjectMap.TryGetValue(new PackageIdentity(toolDep.Id, new NuGetVersion(toolDep.Version)), out var target)) + { + var j = repoGraph.FindIndex(target.SolutionInfo); + repoGraph.SetLink(i, j); + } + } + } + } + + var repos = Repositories.ToDictionary(i => i.ItemSpec, i => i, StringComparer.OrdinalIgnoreCase); + + for (var i = 0; i < repoGraph.Count; i++) + { + var src = repoGraph[i]; + var repoName = GetDirectoryName(src.Directory); + var repo = repos[repoName]; + + for (var j = 0; j < repoGraph.Count; j++) + { + if (j == i) continue; + if (repoGraph.HasLink(i, j)) + { + var target = repoGraph[j]; + var targetRepoName = GetDirectoryName(target.Directory); + var targetRepo = repos[targetRepoName]; + + if (src.Shipped && !target.Shipped) + { + Log.LogError($"{repoName} cannot depend on {targetRepoName}. Repos marked as 'Shipped' cannot depend on repos that are rebuilding. Update the configuration in submodule.props."); + } + } + } + } + + return !Log.HasLoggedErrors; + } + + private static string GetDirectoryName(string path) + => Path.GetFileName(path.TrimEnd(new[] { '\\', '/' })); + + private class AdjacencyMatrix + { + private readonly bool[,] _matrix; + private readonly SolutionInfo[] _items; + + public AdjacencyMatrix(int size) + { + _matrix = new bool[size, size]; + _items = new SolutionInfo[size]; + Count = size; + } + + public SolutionInfo this[int idx] + { + get => _items[idx]; + set => _items[idx] = value; + } + + public int FindIndex(SolutionInfo item) + { + return Array.FindIndex(_items, t => t.Equals(item)); + } + + public int Count { get; } + + public bool HasLink(int source, int target) => _matrix[source, target]; + + public void SetLink(int source, int target) + { + _matrix[source, target] = true; + } + } + } +} diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks index 6f2032d491..1122b7026d 100644 --- a/build/tasks/RepoTasks.tasks +++ b/build/tasks/RepoTasks.tasks @@ -6,6 +6,7 @@ + diff --git a/modules/AADIntegration b/modules/AADIntegration index 4342e5cae2..a35250fe3a 160000 --- a/modules/AADIntegration +++ b/modules/AADIntegration @@ -1 +1 @@ -Subproject commit 4342e5cae29c45c84e27df28218f27c6cec6cc24 +Subproject commit a35250fe3ad8125a4c6fd67feb4055e9470fe558 diff --git a/modules/AzureIntegration b/modules/AzureIntegration index b51db1fc91..c710aa8c26 160000 --- a/modules/AzureIntegration +++ b/modules/AzureIntegration @@ -1 +1 @@ -Subproject commit b51db1fc91cfe792e4f1518b728c41a0af4730d3 +Subproject commit c710aa8c2663e474c270ec48dd9dc999d38d9a46 diff --git a/modules/Diagnostics b/modules/Diagnostics index 98785fb2f5..977f85f9cc 160000 --- a/modules/Diagnostics +++ b/modules/Diagnostics @@ -1 +1 @@ -Subproject commit 98785fb2f5ddb31e298d3f52069adfd233375c65 +Subproject commit 977f85f9cc9ca2685389a740bface9e18fcf5bdd diff --git a/modules/Identity b/modules/Identity index 5403ec47ec..d18de6b00e 160000 --- a/modules/Identity +++ b/modules/Identity @@ -1 +1 @@ -Subproject commit 5403ec47ecfe5cbc2c904253fc1cfbd64675eba6 +Subproject commit d18de6b00e13f06bae43c621f17e39ed2bec4069 diff --git a/modules/JavaScriptServices b/modules/JavaScriptServices index 8c84e35392..436cdb0e96 160000 --- a/modules/JavaScriptServices +++ b/modules/JavaScriptServices @@ -1 +1 @@ -Subproject commit 8c84e353922319ff104c35afa2d6baa186aa010f +Subproject commit 436cdb0e967ab5b3e3903bb876bbd3edef844172 diff --git a/modules/MetaPackages b/modules/MetaPackages index 4e1b907743..10e735d420 160000 --- a/modules/MetaPackages +++ b/modules/MetaPackages @@ -1 +1 @@ -Subproject commit 4e1b90774367d96595eb5e990510b6ba1300ee4e +Subproject commit 10e735d42002db959e1a769a3362c84ec0ef1c27 diff --git a/modules/Proxy b/modules/Proxy index 90d90c12d6..8ec1eb26bb 160000 --- a/modules/Proxy +++ b/modules/Proxy @@ -1 +1 @@ -Subproject commit 90d90c12d61580be1738a78fde0b03c0d25338a0 +Subproject commit 8ec1eb26bbf238eac08161a83632a6260f02d234 diff --git a/modules/StaticFiles b/modules/StaticFiles index 66573b187d..5c775c9579 160000 --- a/modules/StaticFiles +++ b/modules/StaticFiles @@ -1 +1 @@ -Subproject commit 66573b187dc9a915b7726b93753b2f260b9b4b7a +Subproject commit 5c775c957991cb9e5d20c9cf3c67d56dc92d80ba diff --git a/modules/WebHooks b/modules/WebHooks index 5815691af6..e554b1e9f9 160000 --- a/modules/WebHooks +++ b/modules/WebHooks @@ -1 +1 @@ -Subproject commit 5815691af6d8c6f0841a14575609e09f5d0e35c8 +Subproject commit e554b1e9f9a07dd9af35d55bcd6f7159fc6cf752 diff --git a/modules/WebSockets b/modules/WebSockets index b3356b90b2..a1085ed31c 160000 --- a/modules/WebSockets +++ b/modules/WebSockets @@ -1 +1 @@ -Subproject commit b3356b90b20e1fdea3c49cef8f4bbbe0b991e731 +Subproject commit a1085ed31cebed4d4fa1f10cd662a462a87d41f1 From 71fb3b2f6aaaed7167614711b925dfa56b6d404f Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 30 May 2018 11:34:03 -0700 Subject: [PATCH 02/10] Fix version coherence check to filter out non-package artifacts --- build/repo.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/repo.targets b/build/repo.targets index 85b652c3e1..8a6a62e73f 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -212,7 +212,7 @@ - + Date: Wed, 30 May 2018 11:38:53 -0700 Subject: [PATCH 03/10] Updating submodule(s) Antiforgery => c2e4c72a32741689f2636f5f2e53d1c81a27e0b6 AuthSamples => 03b4a625c3c007f75ef2650c84401e8deb72870f BasicMiddleware => 901efb04a93f95d33f3257f58b1f0608b02185ba BrowserLink => 904fc27184ca36b2ea1028767fd34d2b0a307111 Caching => aa60e678e0255b9d77bd20af2877a3edf69e8b33 Common => 8010d565d3ff22ceacebb38099de62a74874daea Configuration => 54bc7d8aef9afc03e9e8cb9e34fae387b60abd3c CORS => b7e4884b863bca074581cb88079bfbf3c9d9e277 DataProtection => 2ca26773880ecf7495e703769a13758eb9782597 DependencyInjection => e76577449b92a9dc915ec2c4495df1e158cd4692 DotNetTools => 9b7f097870af894b6ceb375ae9ba3825100a354c EntityFrameworkCore => a4a414432b20ae68ce53e4b981ecf9e718f98731 EventNotification => 5a7de63da188d45782d4b1d500bdf33748a7a7fb FileSystem => 61ac940d1b30aca3f93fcf5a693ca9b4aee55f42 Hosting => 04d6e71e7f60e853c56d073bdbe777084074b01b HtmlAbstractions => f4b98641d2ae8f95682bed02802dea5beffc9b46 HttpAbstractions => c08f32096762a586a32c19b5ca2b8f9ab2387a32 HttpClientFactory => 500ebbb2442d4ee2a0e651335e797d76b73c06f5 HttpSysServer => 360be3692612eff565797887790ad8685c942555 IISIntegration => 36f657deb78195775fa63bb10de09e48435a851b JsonPatch => e3a21b2a92ddc8d971f4f21c617bb69ca0ae3761 KestrelHttpServer => 5ec7bacdfea4e44217d2fc29d6b31ebfa83e8e07 Localization => c69da9db065ec6e195b2efdceb8b89d8c3ea362a Logging => 14c12fdfd0c5f2ce9bf6557d7d915c4fa143dc51 Microsoft.Data.Sqlite => e6d79ed5dec48e4788e0897ef23b8f1e35de6d4a MusicStore => 51406d3672d73c2c1cb75c750077e8f45b0c4dc9 Mvc => 984cd46c4da9b9e94db6fc4a4aaac3a34a76f20f MvcPrecompilation => 0f12047271e3abca61617cfda3daaeff0e950449 Options => 432017ceb8690b43f8616194f3079295f4dafee0 Razor => cdbcfb7a05db42f33c27aff0dcffa76735db13e7 ResponseCaching => ca86f693f010cab258f1fea84752adf2c0fed000 Routing => 7aeda0427c8f7c3ed43428ea3ec2836ebca19b26 Scaffolding => fcf4d2eee310d9ef3067fa274e45952d7bb91c71 Security => e538375c443a11d96370eb767fce7bb559e00dc9 ServerTests => 9db1fc8e556b7ea4d659ca8aafb627a7ebb3f93c Session => 3b0566d8f366413c73ccc70b21f1692356b1df29 SignalR => c976d0aa6ed4c77574aa49a46a178008a0cb1636 Templating => 52a9e7a54dcfbb41faedc2114b161e8b9b5b63be Testing => d7056f3aaeeaef3e10ece062d04eefdcd9f97719 [auto-updated: submodules] --- modules/Antiforgery | 2 +- modules/AuthSamples | 2 +- modules/BasicMiddleware | 2 +- modules/BrowserLink | 2 +- modules/CORS | 2 +- modules/Caching | 2 +- modules/Common | 2 +- modules/Configuration | 2 +- modules/DataProtection | 2 +- modules/DependencyInjection | 2 +- modules/DotNetTools | 2 +- modules/EntityFrameworkCore | 2 +- modules/EventNotification | 2 +- modules/FileSystem | 2 +- modules/Hosting | 2 +- modules/HtmlAbstractions | 2 +- modules/HttpAbstractions | 2 +- modules/HttpClientFactory | 2 +- modules/HttpSysServer | 2 +- modules/IISIntegration | 2 +- modules/JsonPatch | 2 +- modules/KestrelHttpServer | 2 +- modules/Localization | 2 +- modules/Logging | 2 +- modules/Microsoft.Data.Sqlite | 2 +- modules/MusicStore | 2 +- modules/Mvc | 2 +- modules/MvcPrecompilation | 2 +- modules/Options | 2 +- modules/Razor | 2 +- modules/ResponseCaching | 2 +- modules/Routing | 2 +- modules/Scaffolding | 2 +- modules/Security | 2 +- modules/ServerTests | 2 +- modules/Session | 2 +- modules/SignalR | 2 +- modules/Templating | 2 +- modules/Testing | 2 +- 39 files changed, 39 insertions(+), 39 deletions(-) diff --git a/modules/Antiforgery b/modules/Antiforgery index 60f7d1ecf5..c2e4c72a32 160000 --- a/modules/Antiforgery +++ b/modules/Antiforgery @@ -1 +1 @@ -Subproject commit 60f7d1ecf536c0289175cea640f67779916cb867 +Subproject commit c2e4c72a32741689f2636f5f2e53d1c81a27e0b6 diff --git a/modules/AuthSamples b/modules/AuthSamples index 7a258b6857..03b4a625c3 160000 --- a/modules/AuthSamples +++ b/modules/AuthSamples @@ -1 +1 @@ -Subproject commit 7a258b6857d2e0be1de96779ddf89fdbf56a2aaf +Subproject commit 03b4a625c3c007f75ef2650c84401e8deb72870f diff --git a/modules/BasicMiddleware b/modules/BasicMiddleware index 82f6cd224a..901efb04a9 160000 --- a/modules/BasicMiddleware +++ b/modules/BasicMiddleware @@ -1 +1 @@ -Subproject commit 82f6cd224a0e3c80bba9a0ac3155f9a95f617515 +Subproject commit 901efb04a93f95d33f3257f58b1f0608b02185ba diff --git a/modules/BrowserLink b/modules/BrowserLink index dfd4e839d1..904fc27184 160000 --- a/modules/BrowserLink +++ b/modules/BrowserLink @@ -1 +1 @@ -Subproject commit dfd4e839d1c483220ade5ef181c2392c3f956daf +Subproject commit 904fc27184ca36b2ea1028767fd34d2b0a307111 diff --git a/modules/CORS b/modules/CORS index 054943b33e..b7e4884b86 160000 --- a/modules/CORS +++ b/modules/CORS @@ -1 +1 @@ -Subproject commit 054943b33e27c0685c491ef4f47eca423349368d +Subproject commit b7e4884b863bca074581cb88079bfbf3c9d9e277 diff --git a/modules/Caching b/modules/Caching index 93d7d6f940..aa60e678e0 160000 --- a/modules/Caching +++ b/modules/Caching @@ -1 +1 @@ -Subproject commit 93d7d6f9409548594a806dc203acf8f9ec80ccba +Subproject commit aa60e678e0255b9d77bd20af2877a3edf69e8b33 diff --git a/modules/Common b/modules/Common index 8ddc572259..8010d565d3 160000 --- a/modules/Common +++ b/modules/Common @@ -1 +1 @@ -Subproject commit 8ddc5722596937430ddb6b2aec2fcea06723d5a7 +Subproject commit 8010d565d3ff22ceacebb38099de62a74874daea diff --git a/modules/Configuration b/modules/Configuration index b1d43cf8b4..54bc7d8aef 160000 --- a/modules/Configuration +++ b/modules/Configuration @@ -1 +1 @@ -Subproject commit b1d43cf8b49433054e33f4b6ab66cdffb6fa645e +Subproject commit 54bc7d8aef9afc03e9e8cb9e34fae387b60abd3c diff --git a/modules/DataProtection b/modules/DataProtection index 8851048872..2ca2677388 160000 --- a/modules/DataProtection +++ b/modules/DataProtection @@ -1 +1 @@ -Subproject commit 8851048872a4a68e85cea61d2c4a310a48aedca0 +Subproject commit 2ca26773880ecf7495e703769a13758eb9782597 diff --git a/modules/DependencyInjection b/modules/DependencyInjection index 22b6857cd9..e76577449b 160000 --- a/modules/DependencyInjection +++ b/modules/DependencyInjection @@ -1 +1 @@ -Subproject commit 22b6857cd9892a3d3478ff7a77bafdf6f0efefd3 +Subproject commit e76577449b92a9dc915ec2c4495df1e158cd4692 diff --git a/modules/DotNetTools b/modules/DotNetTools index e1e2970a41..9b7f097870 160000 --- a/modules/DotNetTools +++ b/modules/DotNetTools @@ -1 +1 @@ -Subproject commit e1e2970a41a4ab106774fbe87d075c284f6ac121 +Subproject commit 9b7f097870af894b6ceb375ae9ba3825100a354c diff --git a/modules/EntityFrameworkCore b/modules/EntityFrameworkCore index 25d64f4449..a4a414432b 160000 --- a/modules/EntityFrameworkCore +++ b/modules/EntityFrameworkCore @@ -1 +1 @@ -Subproject commit 25d64f444970c6dd14482924105cbe46978639d0 +Subproject commit a4a414432b20ae68ce53e4b981ecf9e718f98731 diff --git a/modules/EventNotification b/modules/EventNotification index cd87076cc7..5a7de63da1 160000 --- a/modules/EventNotification +++ b/modules/EventNotification @@ -1 +1 @@ -Subproject commit cd87076cc755ce4ecff94bffb1ee90c23079020b +Subproject commit 5a7de63da188d45782d4b1d500bdf33748a7a7fb diff --git a/modules/FileSystem b/modules/FileSystem index 7fa21ddea4..61ac940d1b 160000 --- a/modules/FileSystem +++ b/modules/FileSystem @@ -1 +1 @@ -Subproject commit 7fa21ddea48ecd6d263d766772fa594504196ee0 +Subproject commit 61ac940d1b30aca3f93fcf5a693ca9b4aee55f42 diff --git a/modules/Hosting b/modules/Hosting index 55e57af815..04d6e71e7f 160000 --- a/modules/Hosting +++ b/modules/Hosting @@ -1 +1 @@ -Subproject commit 55e57af8156eab2c28c62b5c6c5473405cb1c411 +Subproject commit 04d6e71e7f60e853c56d073bdbe777084074b01b diff --git a/modules/HtmlAbstractions b/modules/HtmlAbstractions index dd2eaa1ed3..f4b98641d2 160000 --- a/modules/HtmlAbstractions +++ b/modules/HtmlAbstractions @@ -1 +1 @@ -Subproject commit dd2eaa1ed3f9e7bebd3c7b001a2f7a95bf4b6c09 +Subproject commit f4b98641d2ae8f95682bed02802dea5beffc9b46 diff --git a/modules/HttpAbstractions b/modules/HttpAbstractions index 95a44cda4b..c08f320967 160000 --- a/modules/HttpAbstractions +++ b/modules/HttpAbstractions @@ -1 +1 @@ -Subproject commit 95a44cda4b956a8a57115be2a9b564b0961f5577 +Subproject commit c08f32096762a586a32c19b5ca2b8f9ab2387a32 diff --git a/modules/HttpClientFactory b/modules/HttpClientFactory index 6194618785..500ebbb244 160000 --- a/modules/HttpClientFactory +++ b/modules/HttpClientFactory @@ -1 +1 @@ -Subproject commit 619461878527dab5f153f34c5de177a79ecdefaa +Subproject commit 500ebbb2442d4ee2a0e651335e797d76b73c06f5 diff --git a/modules/HttpSysServer b/modules/HttpSysServer index 280bd9e9a4..360be36926 160000 --- a/modules/HttpSysServer +++ b/modules/HttpSysServer @@ -1 +1 @@ -Subproject commit 280bd9e9a466b0f02532c82640bc8c29bddb7f10 +Subproject commit 360be3692612eff565797887790ad8685c942555 diff --git a/modules/IISIntegration b/modules/IISIntegration index cfde418a3c..36f657deb7 160000 --- a/modules/IISIntegration +++ b/modules/IISIntegration @@ -1 +1 @@ -Subproject commit cfde418a3c6356cff77f06eea6acc0f85b10e380 +Subproject commit 36f657deb78195775fa63bb10de09e48435a851b diff --git a/modules/JsonPatch b/modules/JsonPatch index 54e6ffce34..e3a21b2a92 160000 --- a/modules/JsonPatch +++ b/modules/JsonPatch @@ -1 +1 @@ -Subproject commit 54e6ffce343b4b6113e824ccbb4006f786ad8e8c +Subproject commit e3a21b2a92ddc8d971f4f21c617bb69ca0ae3761 diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index cc35474a7c..5ec7bacdfe 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit cc35474a7c7466c3adee127694cae7ba5c3a182c +Subproject commit 5ec7bacdfea4e44217d2fc29d6b31ebfa83e8e07 diff --git a/modules/Localization b/modules/Localization index 8815ba1b92..c69da9db06 160000 --- a/modules/Localization +++ b/modules/Localization @@ -1 +1 @@ -Subproject commit 8815ba1b92567c8f8eeab571c426df38990ff7d4 +Subproject commit c69da9db065ec6e195b2efdceb8b89d8c3ea362a diff --git a/modules/Logging b/modules/Logging index 6dffd8b4f6..14c12fdfd0 160000 --- a/modules/Logging +++ b/modules/Logging @@ -1 +1 @@ -Subproject commit 6dffd8b4f6b6e2204224ae586cbea19375a7d206 +Subproject commit 14c12fdfd0c5f2ce9bf6557d7d915c4fa143dc51 diff --git a/modules/Microsoft.Data.Sqlite b/modules/Microsoft.Data.Sqlite index e1b3a1dbc0..e6d79ed5de 160000 --- a/modules/Microsoft.Data.Sqlite +++ b/modules/Microsoft.Data.Sqlite @@ -1 +1 @@ -Subproject commit e1b3a1dbc005b15e073bfc351a49ae92f85374ed +Subproject commit e6d79ed5dec48e4788e0897ef23b8f1e35de6d4a diff --git a/modules/MusicStore b/modules/MusicStore index 715741c007..51406d3672 160000 --- a/modules/MusicStore +++ b/modules/MusicStore @@ -1 +1 @@ -Subproject commit 715741c00735aa282feadd9b34271490392e3fd8 +Subproject commit 51406d3672d73c2c1cb75c750077e8f45b0c4dc9 diff --git a/modules/Mvc b/modules/Mvc index 7b16b56112..984cd46c4d 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit 7b16b5611258063c8ed608462cfe44525237297e +Subproject commit 984cd46c4da9b9e94db6fc4a4aaac3a34a76f20f diff --git a/modules/MvcPrecompilation b/modules/MvcPrecompilation index a8089026fc..0f12047271 160000 --- a/modules/MvcPrecompilation +++ b/modules/MvcPrecompilation @@ -1 +1 @@ -Subproject commit a8089026fcf4348fdb9f567dbd5cbb0c93e6f335 +Subproject commit 0f12047271e3abca61617cfda3daaeff0e950449 diff --git a/modules/Options b/modules/Options index 393e035685..432017ceb8 160000 --- a/modules/Options +++ b/modules/Options @@ -1 +1 @@ -Subproject commit 393e0356850d031ca0aa44fa8cf2716b55248b31 +Subproject commit 432017ceb8690b43f8616194f3079295f4dafee0 diff --git a/modules/Razor b/modules/Razor index 2434d17613..cdbcfb7a05 160000 --- a/modules/Razor +++ b/modules/Razor @@ -1 +1 @@ -Subproject commit 2434d1761319ef227eea5df4dfef44a38ae76a41 +Subproject commit cdbcfb7a05db42f33c27aff0dcffa76735db13e7 diff --git a/modules/ResponseCaching b/modules/ResponseCaching index 4cbf2f4849..ca86f693f0 160000 --- a/modules/ResponseCaching +++ b/modules/ResponseCaching @@ -1 +1 @@ -Subproject commit 4cbf2f4849f81390863e80e03c7286f107246d76 +Subproject commit ca86f693f010cab258f1fea84752adf2c0fed000 diff --git a/modules/Routing b/modules/Routing index 200d48879c..7aeda0427c 160000 --- a/modules/Routing +++ b/modules/Routing @@ -1 +1 @@ -Subproject commit 200d48879cced34f5c587bd052ef6cfb5e65a92a +Subproject commit 7aeda0427c8f7c3ed43428ea3ec2836ebca19b26 diff --git a/modules/Scaffolding b/modules/Scaffolding index 42a217a00f..fcf4d2eee3 160000 --- a/modules/Scaffolding +++ b/modules/Scaffolding @@ -1 +1 @@ -Subproject commit 42a217a00f45d1f88836f05a3f182976d402a65a +Subproject commit fcf4d2eee310d9ef3067fa274e45952d7bb91c71 diff --git a/modules/Security b/modules/Security index 9ee5ed4bf9..e538375c44 160000 --- a/modules/Security +++ b/modules/Security @@ -1 +1 @@ -Subproject commit 9ee5ed4bf908bf09fce2d4d4797a908cc927b72c +Subproject commit e538375c443a11d96370eb767fce7bb559e00dc9 diff --git a/modules/ServerTests b/modules/ServerTests index 232c2b2e06..9db1fc8e55 160000 --- a/modules/ServerTests +++ b/modules/ServerTests @@ -1 +1 @@ -Subproject commit 232c2b2e0629b51032b745a68355edb651cd4573 +Subproject commit 9db1fc8e556b7ea4d659ca8aafb627a7ebb3f93c diff --git a/modules/Session b/modules/Session index 4da224c5f1..3b0566d8f3 160000 --- a/modules/Session +++ b/modules/Session @@ -1 +1 @@ -Subproject commit 4da224c5f10d21bc90acb60360f12ac6c06a03f7 +Subproject commit 3b0566d8f366413c73ccc70b21f1692356b1df29 diff --git a/modules/SignalR b/modules/SignalR index ad55661ceb..c976d0aa6e 160000 --- a/modules/SignalR +++ b/modules/SignalR @@ -1 +1 @@ -Subproject commit ad55661ceb83dcb7365a82d1e65e182752979784 +Subproject commit c976d0aa6ed4c77574aa49a46a178008a0cb1636 diff --git a/modules/Templating b/modules/Templating index 5a5837f763..52a9e7a54d 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 5a5837f7630338b025dd8d7bf7f3529da3bf4d64 +Subproject commit 52a9e7a54dcfbb41faedc2114b161e8b9b5b63be diff --git a/modules/Testing b/modules/Testing index ce80e2d576..d7056f3aae 160000 --- a/modules/Testing +++ b/modules/Testing @@ -1 +1 @@ -Subproject commit ce80e2d5762376aef9b33b4f96073f2e416b05df +Subproject commit d7056f3aaeeaef3e10ece062d04eefdcd9f97719 From 891cc0f949dc90a3446600f3071e68c9c7226721 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Wed, 30 May 2018 12:59:19 -0700 Subject: [PATCH 04/10] Updating BuildTools from 2.1.1-rtm-15790 to 2.1.1-rtm-15792 [auto-updated: buildtools] --- korebuild-lock.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/korebuild-lock.txt b/korebuild-lock.txt index cd5b409a1e..495610dcbb 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.1.1-rtm-15790 -commithash:274c65868e735f29f4078c1884c61c4371ee1fc0 +version:2.1.1-rtm-15792 +commithash:aa4245f5297588f5f8ffc2749df15f6dbc92f5f1 From da8ca36fe8bc4fa379d701bedf9c247cfdc09569 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 30 May 2018 13:42:36 -0700 Subject: [PATCH 05/10] Pin to stable 2.1.0 corefx packages (#1188) * Pin to stable 2.1.0 corefx packages * Ensures ProdCon overrides passed to us match our expectations about which variables will be set --- build/dependencies.props | 58 ++++++++++++++-------------- build/external-dependencies.props | 2 +- build/repo.targets | 4 ++ build/tasks/CheckVersionOverrides.cs | 45 +++++++++++++++++++++ build/tasks/RepoTasks.tasks | 3 +- 5 files changed, 81 insertions(+), 31 deletions(-) create mode 100644 build/tasks/CheckVersionOverrides.cs diff --git a/build/dependencies.props b/build/dependencies.props index 53c3a9eb35..2464ada95d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -1,36 +1,9 @@  - + - 4.5.0 - 2.1.0 2.1.0 2.1.0 - 4.5.0 - 4.7.0 - 4.5.0 - 1.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 1.6.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.5.0 - 4.9.0 - 4.5.0 - 4.5.0 @@ -55,6 +28,7 @@ 4.2.1 3.1.0 1.10.0 + 1.7.3.4 2.1.1 2.2.1 5.2.6 @@ -70,9 +44,11 @@ 2.8.0 2.8.0 2.8.0 + 4.5.0 1.7.0 0.2.0-beta-62606-02 1.0.0-rc3-003121 + 2.1.0 1.1.0 3.14.2 5.2.0 @@ -101,14 +77,15 @@ 7.10.6071 15.6.161-preview 1.4.0 + 4.5.0 1.3.8 1.0.1 4.7.49 - 1.7.3.4 1.6.1 2.0.3 1.0.1 11.0.2 + 4.7.0 12.2.1100 2.0.1 6.0.1 @@ -121,12 +98,35 @@ 1.2.4 1.1.92 1.0.0 + 4.5.0 + 1.5.0 + 4.5.0 + 4.5.0 + 4.5.0 + 4.5.0 5.2.0 3.1.1 + 4.5.0 + 4.5.0 4.3.2 + 4.5.0 + 4.5.0 + 4.5.0 3.1.1 4.3.0 + 1.6.0 + 4.5.0 4.3.0 + 4.5.0 + 4.5.0 + 4.5.0 + 4.5.0 + 4.5.0 + 4.5.0 + 4.5.0 + 4.9.0 + 4.5.0 + 4.5.0 1.3.7 9.0.1 2.8.0 diff --git a/build/external-dependencies.props b/build/external-dependencies.props index fe426974c5..30d47c4ccf 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -244,7 +244,7 @@ - + diff --git a/build/repo.targets b/build/repo.targets index 8a6a62e73f..30104914a8 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -202,6 +202,10 @@ + + diff --git a/build/tasks/CheckVersionOverrides.cs b/build/tasks/CheckVersionOverrides.cs new file mode 100644 index 0000000000..ad75aa8b2b --- /dev/null +++ b/build/tasks/CheckVersionOverrides.cs @@ -0,0 +1,45 @@ +// 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.Construction; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; + +namespace RepoTasks +{ + public class CheckVersionOverrides : Task + { + [Required] + public string DotNetPackageVersionPropsPath { get; set; } + + [Required] + public string DependenciesFile { get; set; } + + public override bool Execute() + { + Log.LogMessage($"Verifying versions set in {DotNetPackageVersionPropsPath} match expected versions set in {DependenciesFile}"); + + var versionOverrides = ProjectRootElement.Open(DotNetPackageVersionPropsPath); + var dependencies = ProjectRootElement.Open(DependenciesFile); + var pinnedVersions = dependencies.PropertyGroups + .Where(p => !string.Equals("Package Versions: Auto", p.Label)) + .SelectMany(p => p.Properties) + .ToDictionary(p => p.Name, p => p.Value, StringComparer.OrdinalIgnoreCase); + + foreach (var prop in versionOverrides.Properties) + { + if (pinnedVersions.TryGetValue(prop.Name, out var pinnedVersion)) + { + if (!string.Equals(pinnedVersion, prop.Value, StringComparison.OrdinalIgnoreCase)) + { + Log.LogError($"The imported package version props file conflicts with a pinned version variable {prop.Name}. Imported value: {prop.Value}, Pinned value: {pinnedVersion}"); + } + } + } + + return !Log.HasLoggedErrors; + } + } +} diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks index 1122b7026d..336e4beeda 100644 --- a/build/tasks/RepoTasks.tasks +++ b/build/tasks/RepoTasks.tasks @@ -6,8 +6,9 @@ - + + From 8543efaa26a62119fa4fd409d0bbb547c89a8ff2 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Wed, 30 May 2018 14:26:33 -0700 Subject: [PATCH 06/10] Updating submodule(s) Templating => 74883b2cf035ae0a05d99cc125ce352eade66d40 [auto-updated: submodules] --- modules/Templating | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Templating b/modules/Templating index 52a9e7a54d..74883b2cf0 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 52a9e7a54dcfbb41faedc2114b161e8b9b5b63be +Subproject commit 74883b2cf035ae0a05d99cc125ce352eade66d40 From f126871a4cdf7ad5e5cdcbd6bbf54bb54ea85e3e Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 30 May 2018 15:16:22 -0700 Subject: [PATCH 07/10] [2.1.x] Remove WebHooks and Proxy from servicing (#1189) These repos do not produce packages that will ship in 2.1.x. --- .gitmodules | 8 -------- build/artifacts.props | 15 --------------- build/submodules.props | 2 -- modules/Proxy | 1 - modules/WebHooks | 1 - 5 files changed, 27 deletions(-) delete mode 160000 modules/Proxy delete mode 160000 modules/WebHooks diff --git a/.gitmodules b/.gitmodules index f46e4e64ce..ed8ae26eba 100644 --- a/.gitmodules +++ b/.gitmodules @@ -138,10 +138,6 @@ path = modules/Options url = https://github.com/aspnet/Options.git branch = release/2.1 -[submodule "modules/Proxy"] - path = modules/Proxy - url = https://github.com/aspnet/Proxy.git - branch = release/2.1 [submodule "modules/Razor"] path = modules/Razor url = https://github.com/aspnet/Razor.git @@ -190,7 +186,3 @@ path = modules/WebSockets url = https://github.com/aspnet/WebSockets.git branch = release/2.1 -[submodule "modules/WebHooks"] - path = modules/WebHooks - url = https://github.com/aspnet/WebHooks.git - branch = release/2.1 diff --git a/build/artifacts.props b/build/artifacts.props index a1df1c0583..33c0a6d127 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -91,7 +91,6 @@ - @@ -115,20 +114,6 @@ - - - - - - - - - - - - - - diff --git a/build/submodules.props b/build/submodules.props index 5eb83ac7ef..2833c6e1ab 100644 --- a/build/submodules.props +++ b/build/submodules.props @@ -18,12 +18,10 @@ - - diff --git a/modules/Proxy b/modules/Proxy deleted file mode 160000 index 8ec1eb26bb..0000000000 --- a/modules/Proxy +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8ec1eb26bbf238eac08161a83632a6260f02d234 diff --git a/modules/WebHooks b/modules/WebHooks deleted file mode 160000 index e554b1e9f9..0000000000 --- a/modules/WebHooks +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e554b1e9f9a07dd9af35d55bcd6f7159fc6cf752 From ba6abf57971db5f580faacae17f8dd55f325f1a1 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Wed, 30 May 2018 16:00:36 -0700 Subject: [PATCH 08/10] Updating submodule(s) Mvc => 2d63669695379d7da9c92653c24c8c626df02dad [auto-updated: submodules] --- modules/Mvc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Mvc b/modules/Mvc index 984cd46c4d..2d63669695 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit 984cd46c4da9b9e94db6fc4a4aaac3a34a76f20f +Subproject commit 2d63669695379d7da9c92653c24c8c626df02dad From 59f091f0bef01e2a28375b7be9fdbf9fda557cfd Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Wed, 30 May 2018 16:19:12 -0700 Subject: [PATCH 09/10] Updating submodule(s) Templating => a5fb8a3d3cb582ca4fadf71098a3b1bc16ed5a18 [auto-updated: submodules] --- modules/Templating | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Templating b/modules/Templating index 74883b2cf0..a5fb8a3d3c 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 74883b2cf035ae0a05d99cc125ce352eade66d40 +Subproject commit a5fb8a3d3cb582ca4fadf71098a3b1bc16ed5a18 From 4935711bceba7fbbc39d26d61121d1b22b6c60bf Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 30 May 2018 17:13:42 -0700 Subject: [PATCH 10/10] Add trailing slash to --- build/sources.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/sources.props b/build/sources.props index 1a0eab7594..128f52834b 100644 --- a/build/sources.props +++ b/build/sources.props @@ -3,7 +3,7 @@ - https://dotnetfeed.blob.core.windows.net/orchestrated-release-2-1/20180515-07/final/assets + https://dotnetfeed.blob.core.windows.net/orchestrated-release-2-1/20180515-07/final/assets/ $(DotNetAdditionalRestoreSources);