From 21f435bc8d16a1fc4cb646246b4d319f2e3324f9 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 23 Apr 2018 17:21:36 -0700 Subject: [PATCH 1/9] Update KestrelHttpServer submodule --- .gitmodules | 4 ++-- modules/KestrelHttpServer | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index f46e4e64ce..98c4a91ad1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -104,8 +104,8 @@ branch = release/2.1 [submodule "modules/KestrelHttpServer"] path = modules/KestrelHttpServer - url = https://github.com/aspnet/KestrelHttpServer.git - branch = release/2.1 + url = https://github.com/aspnet/KestrelHttpServer-Private.git + branch = release/2.1-msrc [submodule "modules/Localization"] path = modules/Localization url = https://github.com/aspnet/Localization.git diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index 3ab8461a8c..b0e1fa5e30 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit 3ab8461a8c771d20886f519f4134aec92a86535b +Subproject commit b0e1fa5e30fd3da74273d5117226f9a6073e8257 From 978562e68cbaf82241f51d5f79a7b9c8864db5b5 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Mon, 7 May 2018 12:17:12 -0700 Subject: [PATCH 2/9] Updating submodule(s) Mvc => a8e1a1fd40a34fc80cd805a38effed28a81adb9d Razor => e9fc15de02b7376f81dedea494d8bbed82673ce1 Scaffolding => b6dc9a4f124b630a8ed70956af6cba811e2c467c [auto-updated: submodules] --- modules/Mvc | 2 +- modules/Razor | 2 +- modules/Scaffolding | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/Mvc b/modules/Mvc index 63c370ddf3..a8e1a1fd40 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit 63c370ddf3ba9db328814f45c0a188f346db442f +Subproject commit a8e1a1fd40a34fc80cd805a38effed28a81adb9d diff --git a/modules/Razor b/modules/Razor index d16988542a..e9fc15de02 160000 --- a/modules/Razor +++ b/modules/Razor @@ -1 +1 @@ -Subproject commit d16988542a5f27122b72d05bc5a2ae5e3bb25a62 +Subproject commit e9fc15de02b7376f81dedea494d8bbed82673ce1 diff --git a/modules/Scaffolding b/modules/Scaffolding index c32ec1b236..b6dc9a4f12 160000 --- a/modules/Scaffolding +++ b/modules/Scaffolding @@ -1 +1 @@ -Subproject commit c32ec1b236bf1e79c97cbfbaf37ff6f6b614b3e9 +Subproject commit b6dc9a4f124b630a8ed70956af6cba811e2c467c From 34431a9129eea557313f1a2b2d4a5390bb943e72 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Mon, 7 May 2018 12:17:14 -0700 Subject: [PATCH 3/9] Updating BuildTools from 2.1.0-rtm-15784 to 2.1.0-rtm-15785 [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 6769655462..bcc969ffe2 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.1.0-rtm-15784 -commithash:4dfaeceddc6635f32fea89e555623d0b582ba871 +version:2.1.0-rtm-15785 +commithash:ea166599f1431a6372aa884fd020b4968b0c6e4b From ed78acb01a6fdb6c98ff4ea3b0a1c13d4945dea9 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Mon, 7 May 2018 23:04:20 +0000 Subject: [PATCH 4/9] Updating submodule(s) Logging => 6dffd8b4f6b6e2204224ae586cbea19375a7d206 Mvc => 74c0d0c28744743610b4b856c632f191ff49dc33 [auto-updated: submodules] --- modules/Logging | 2 +- modules/Mvc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/Logging b/modules/Logging index 73a71506bd..6dffd8b4f6 160000 --- a/modules/Logging +++ b/modules/Logging @@ -1 +1 @@ -Subproject commit 73a71506bd81a71826d5778ac4292d6543e03278 +Subproject commit 6dffd8b4f6b6e2204224ae586cbea19375a7d206 diff --git a/modules/Mvc b/modules/Mvc index a8e1a1fd40..74c0d0c287 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit a8e1a1fd40a34fc80cd805a38effed28a81adb9d +Subproject commit 74c0d0c28744743610b4b856c632f191ff49dc33 From 3b35f39155fb30d044c89b286e1b9d76e09159fc Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Tue, 8 May 2018 01:49:54 +0000 Subject: [PATCH 5/9] Updating submodule(s) SignalR => 6f6382799b00936521452cc6c5c516a5bb7f3ce8 [auto-updated: submodules] --- modules/SignalR | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/SignalR b/modules/SignalR index 1012b36bfb..6f6382799b 160000 --- a/modules/SignalR +++ b/modules/SignalR @@ -1 +1 @@ -Subproject commit 1012b36bfb6bbfc3de4b3dc9fa0bd935209f40ab +Subproject commit 6f6382799b00936521452cc6c5c516a5bb7f3ce8 From a5bd1d025689654077d09bd6ebd42ccd71b1f38b Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Tue, 8 May 2018 19:14:34 +0000 Subject: [PATCH 6/9] Updating submodule(s) WebHooks => 5815691af6d8c6f0841a14575609e09f5d0e35c8 [auto-updated: submodules] --- modules/WebHooks | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/WebHooks b/modules/WebHooks index a57cf4693e..5815691af6 160000 --- a/modules/WebHooks +++ b/modules/WebHooks @@ -1 +1 @@ -Subproject commit a57cf4693e2f27b588cf06f113c5cc848e4d7de8 +Subproject commit 5815691af6d8c6f0841a14575609e09f5d0e35c8 From 7c8da77140e74177530d4d7e4c911cea00b56b4b Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Tue, 8 May 2018 15:36:39 -0700 Subject: [PATCH 7/9] Updating BuildTools from 2.1.0-rtm-15785 to 2.1.0-rtm-15786 [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 bcc969ffe2..8bd8248c60 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.1.0-rtm-15785 -commithash:ea166599f1431a6372aa884fd020b4968b0c6e4b +version:2.1.0-rtm-15786 +commithash:c3a2fe8d3b2869f987305ce13c718fef15bc126c From 5f2249b05a4c925fccd80cd124b425c48519862e Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Tue, 8 May 2018 16:09:52 -0700 Subject: [PATCH 8/9] Updating submodule(s) DotNetTools => e1e2970a41a4ab106774fbe87d075c284f6ac121 [auto-updated: submodules] --- modules/DotNetTools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/DotNetTools b/modules/DotNetTools index e559cca71e..e1e2970a41 160000 --- a/modules/DotNetTools +++ b/modules/DotNetTools @@ -1 +1 @@ -Subproject commit e559cca71ef57d6583bd269201239109c3734c7f +Subproject commit e1e2970a41a4ab106774fbe87d075c284f6ac121 From 695bf56afc992ffb8d17a601001223e3997ed9f7 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 8 May 2018 16:51:26 -0700 Subject: [PATCH 9/9] Run VerifyCoherentVersions check (#1156) All packages were being ignored. This adds an error if 0 packages are found, and also fixes the folder scanned for coherence. This also required removing the 'Private' designation from external dependencies, because we no longer scan just shipping packages, Removed unused NoWarn metadata as well. --- build/external-dependencies.props | 86 +++++++++---------- build/repo.targets | 2 +- build/tasks/ProjectModel/PackageInfo.cs | 2 + .../ProjectModel/PackageReferenceInfo.cs | 4 +- .../tasks/ProjectModel/ProjectInfoFactory.cs | 6 +- build/tasks/VerifyCoherentVersions.cs | 40 ++++----- 6 files changed, 63 insertions(+), 77 deletions(-) diff --git a/build/external-dependencies.props b/build/external-dependencies.props index dea8368864..6554f43a9d 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -5,10 +5,6 @@ - - - - false false @@ -17,13 +13,13 @@ - - + + - - - - + + + + @@ -39,29 +35,29 @@ - + - + - - + + - - - - - + + + + + - + - + @@ -72,29 +68,29 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - + + + @@ -116,11 +112,11 @@ - + - + @@ -159,6 +155,6 @@ - + diff --git a/build/repo.targets b/build/repo.targets index 4d8f5246f8..32e0796db9 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -205,7 +205,7 @@ - + diff --git a/build/tasks/ProjectModel/PackageInfo.cs b/build/tasks/ProjectModel/PackageInfo.cs index 463fab690a..bb499a1b21 100644 --- a/build/tasks/ProjectModel/PackageInfo.cs +++ b/build/tasks/ProjectModel/PackageInfo.cs @@ -38,5 +38,7 @@ namespace RepoTasks.ProjectModel /// public string Source { get; } public IReadOnlyList DependencyGroups { get; } + + public override string ToString() => $"{Id}/{Version}"; } } diff --git a/build/tasks/ProjectModel/PackageReferenceInfo.cs b/build/tasks/ProjectModel/PackageReferenceInfo.cs index d01089d594..cea7d566ef 100644 --- a/build/tasks/ProjectModel/PackageReferenceInfo.cs +++ b/build/tasks/ProjectModel/PackageReferenceInfo.cs @@ -8,7 +8,7 @@ namespace RepoTasks.ProjectModel { internal class PackageReferenceInfo { - public PackageReferenceInfo(string id, string version, bool isImplicitlyDefined, IReadOnlyList noWarn) + public PackageReferenceInfo(string id, string version, bool isImplicitlyDefined) { if (string.IsNullOrEmpty(id)) { @@ -18,12 +18,10 @@ namespace RepoTasks.ProjectModel Id = id; Version = version; IsImplicitlyDefined = isImplicitlyDefined; - NoWarn = noWarn; } public string Id { get; } public string Version { get; } public bool IsImplicitlyDefined { get; } - public IReadOnlyList NoWarn { get; } } } diff --git a/build/tasks/ProjectModel/ProjectInfoFactory.cs b/build/tasks/ProjectModel/ProjectInfoFactory.cs index 42c0bd3fee..350fed398d 100644 --- a/build/tasks/ProjectModel/ProjectInfoFactory.cs +++ b/build/tasks/ProjectModel/ProjectInfoFactory.cs @@ -106,12 +106,8 @@ namespace RepoTasks.ProjectModel foreach (var item in project.GetItems("PackageReference")) { bool.TryParse(item.GetMetadataValue("IsImplicitlyDefined"), out var isImplicit); - var noWarn = item.GetMetadataValue("NoWarn"); - IReadOnlyList noWarnItems = string.IsNullOrEmpty(noWarn) - ? Array.Empty() - : MSBuildListSplitter.SplitItemList(noWarn).ToArray(); - var info = new PackageReferenceInfo(item.EvaluatedInclude, item.GetMetadataValue("Version"), isImplicit, noWarnItems); + var info = new PackageReferenceInfo(item.EvaluatedInclude, item.GetMetadataValue("Version"), isImplicit); if (references.ContainsKey(info.Id)) { diff --git a/build/tasks/VerifyCoherentVersions.cs b/build/tasks/VerifyCoherentVersions.cs index e6800f03c8..a9b0f92644 100644 --- a/build/tasks/VerifyCoherentVersions.cs +++ b/build/tasks/VerifyCoherentVersions.cs @@ -25,21 +25,23 @@ namespace RepoTasks public override bool Execute() { + if (PackageFiles.Length == 0) + { + Log.LogError("Did not find any packages to verify for version coherence"); + return false; + } + var packageLookup = new Dictionary(StringComparer.OrdinalIgnoreCase); - var dependencyMap = new Dictionary>(StringComparer.OrdinalIgnoreCase); + var dependencyMap = new Dictionary>(StringComparer.OrdinalIgnoreCase); foreach (var dep in ExternalDependencies) { if (!dependencyMap.TryGetValue(dep.ItemSpec, out var list)) { - dependencyMap[dep.ItemSpec] = list = new List(); + dependencyMap[dep.ItemSpec] = list = new List(); } - var externalDep = new ExternalDependency - { - Version = dep.GetMetadata("Version"), - IsPrivate = bool.TryParse(dep.GetMetadata("Private"), out var isPrivate) && isPrivate, - }; - list.Add(externalDep); + + list.Add(dep.GetMetadata("Version")); } foreach (var file in PackageFiles) @@ -56,11 +58,12 @@ namespace RepoTasks if (packageLookup.TryGetValue(package.Id, out var existingPackage)) { - throw new Exception("Multiple copies of the following package were found: " + + Log.LogError("Multiple copies of the following package were found: " + Environment.NewLine + existingPackage + Environment.NewLine + package); + continue; } packageLookup[package.Id] = package; @@ -75,15 +78,9 @@ namespace RepoTasks return !Log.HasLoggedErrors; } - private class ExternalDependency - { - public string Version { get; set; } - public bool IsPrivate { get; set; } - } - private void Visit( IReadOnlyDictionary packageLookup, - IReadOnlyDictionary> dependencyMap, + IReadOnlyDictionary> dependencyMap, PackageInfo packageInfo) { Log.LogMessage(MessageImportance.Low, $"Processing package {packageInfo.Id}"); @@ -95,20 +92,17 @@ namespace RepoTasks { PackageInfo dependencyPackageInfo; var depVersion = dependency.VersionRange.MinVersion.ToString(); - if (dependencyMap.TryGetValue(dependency.Id, out var externalDependencies)) + if (dependencyMap.TryGetValue(dependency.Id, out var externalDepVersions)) { - var matchedVersion = externalDependencies.FirstOrDefault(d => depVersion.Equals(d.Version)); + var matchedVersion = externalDepVersions.FirstOrDefault(d => depVersion.Equals(d)); if (matchedVersion == null) { - var versions = string.Join(" or ", externalDependencies.Select(d => d.Version)); + var versions = string.Join(" or ", externalDepVersions); Log.LogError($"Package {packageInfo.Id} has an external dependency on the wrong version of {dependency.Id}. " + $"It uses {depVersion} but only {versions} is allowed."); } - else if (matchedVersion.IsPrivate) - { - Log.LogError($"Package {packageInfo.Id} has an external dependency on {dependency.Id}/{depVersion} which is marked as Private=true."); - } + continue; } else if (!packageLookup.TryGetValue(dependency.Id, out dependencyPackageInfo))