From 4b7bb9a2c00491185a64dfefba3aa4489ec34274 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 25 Jan 2018 11:47:20 -0800 Subject: [PATCH 1/6] Updating submodule(s) Mvc => b30020a6550040fced72690f96e1cfbb7d39b80d Proxy => c2fd01b902c4bc52f48e148a09f63ac20fb75c09 SignalR => 96a3a03de80c786553b45d564a399345ef79d422 [auto-updated: submodules] --- modules/Mvc | 2 +- modules/Proxy | 2 +- modules/SignalR | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/Mvc b/modules/Mvc index f35e29e87b..b30020a655 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit f35e29e87bba254fcb722e6a8a2550b5d3846449 +Subproject commit b30020a6550040fced72690f96e1cfbb7d39b80d diff --git a/modules/Proxy b/modules/Proxy index 885001bb52..c2fd01b902 160000 --- a/modules/Proxy +++ b/modules/Proxy @@ -1 +1 @@ -Subproject commit 885001bb520cca7821a71a64f628f8074b15c9ee +Subproject commit c2fd01b902c4bc52f48e148a09f63ac20fb75c09 diff --git a/modules/SignalR b/modules/SignalR index 67c76287ed..96a3a03de8 160000 --- a/modules/SignalR +++ b/modules/SignalR @@ -1 +1 @@ -Subproject commit 67c76287ed122e831d67a6b6af37bb0947441978 +Subproject commit 96a3a03de80c786553b45d564a399345ef79d422 From cf2c4f97631e394e46c3067c8514a1df1f10dc9b Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 25 Jan 2018 12:33:48 -0800 Subject: [PATCH 2/6] Updating submodule(s) Templating => 9000769449999d89e15a6e7ea176c18cbe9da495 [auto-updated: submodules] --- modules/Templating | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Templating b/modules/Templating index d978b0da6c..9000769449 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit d978b0da6c4f37eb7b256a5bb0a1f022ee36b7cb +Subproject commit 9000769449999d89e15a6e7ea176c18cbe9da495 From b5ded9865b385d5824351a3b29bce1d8240ad63a Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 25 Jan 2018 13:44:35 -0800 Subject: [PATCH 3/6] Updating BuildTools from 2.1.0-preview2-15683 to 2.1.0-preview2-15684 [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 31cbf017e4..1ae5d69845 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.1.0-preview2-15683 -commithash:54af97ac56dfdc495c2514c6916fe4ca79910939 +version:2.1.0-preview2-15684 +commithash:308af8e3279892aad7f189ffbddd3ff9a60970d3 From 6effbb44f338be76f5fbb3c1008460b769f0216a Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 25 Jan 2018 16:02:56 -0800 Subject: [PATCH 4/6] Updating submodule(s) WebSockets => 5b18df55cbe1230dca759ffead9acbe31b425799 [auto-updated: submodules] --- modules/WebSockets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/WebSockets b/modules/WebSockets index 6bc49ad6ca..5b18df55cb 160000 --- a/modules/WebSockets +++ b/modules/WebSockets @@ -1 +1 @@ -Subproject commit 6bc49ad6ca029ff43310411e8db545b86bc985e8 +Subproject commit 5b18df55cbe1230dca759ffead9acbe31b425799 From b083b73985fe5320995053b736ef88337592408a Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 25 Jan 2018 16:57:27 -0800 Subject: [PATCH 5/6] Updating submodule(s) Mvc => 7127bb5dbbb07eb325a2852ac9a91be0cf443205 [auto-updated: submodules] --- modules/Mvc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Mvc b/modules/Mvc index b30020a655..7127bb5dbb 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit b30020a6550040fced72690f96e1cfbb7d39b80d +Subproject commit 7127bb5dbbb07eb325a2852ac9a91be0cf443205 From baa665db8164a46e5e8831283b8418014c35655d Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 25 Jan 2018 18:04:40 -0800 Subject: [PATCH 6/6] Include global CLI tool packages in the LZMA (#809) Fixes #803 --- build/PackageArchive.targets | 20 +++++ build/artifacts.props | 27 ++++-- build/external-dependencies.props | 9 +- build/repo.targets | 5 +- build/tasks/AddArchiveReferences.cs | 8 +- build/tasks/JoinItems.cs | 122 ++++++++++++++++++++++++++++ build/tasks/RepoTasks.tasks | 1 + 7 files changed, 168 insertions(+), 24 deletions(-) create mode 100644 build/tasks/JoinItems.cs diff --git a/build/PackageArchive.targets b/build/PackageArchive.targets index d01ed8cf94..4970e4bb95 100644 --- a/build/PackageArchive.targets +++ b/build/PackageArchive.targets @@ -49,6 +49,26 @@ Targets="Restore" Properties="RestorePackagesPath=$(FallbackStagingDir);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp21PackageVersion);DotNetRestoreSourcePropsPath=$(GeneratedFallbackRestoreSourcesPropsPath);AspNetUniverseBuildOffline=true" /> + + + + + + + + + <_DotnetToolPackages Update="@(_DotnetToolPackages)"> + $([System.String]::new('%(PackageId).%(Version)').ToLowerInvariant()) + $([System.String]::new('%(PackageId)/%(Version)').ToLowerInvariant()) + + + + + + + diff --git a/build/artifacts.props b/build/artifacts.props index 0ab44a8d54..a5f2f7f01f 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -2,20 +2,31 @@ + false + false - false + false + + false + false - false + + Dependency - - - - + + + + @@ -202,7 +213,7 @@ - + @@ -282,7 +293,7 @@ - + diff --git a/build/external-dependencies.props b/build/external-dependencies.props index b1f53f578b..dd6cb16618 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -13,16 +13,9 @@ false false - - false - - false - - false - - false + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json diff --git a/build/repo.targets b/build/repo.targets index 67c6ade26d..3285a78ab1 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -196,10 +196,7 @@ - - - p.GetMetadata("LZMA") == "true"); - var externalArchiveTools = ExternalDependencies.Where(p => p.GetMetadata("LZMATools") == "true"); - var archiveArtifacts = PackageArtifacts.Where(p => p.GetMetadata("LZMA") == "true"); - var archiveTools = PackageArtifacts.Where(p => p.GetMetadata("LZMATools") == "true"); + var externalArchiveArtifacts = ExternalDependencies.Where(p => p.GetMetadata("LZMA") == "true" && p.GetMetadata("PackageType") == "Dependency"); + var externalArchiveTools = ExternalDependencies.Where(p => p.GetMetadata("LZMA") == "true" && p.GetMetadata("PackageType") == "DotnetCliTool"); + var archiveArtifacts = PackageArtifacts.Where(p => p.GetMetadata("LZMA") == "true" && p.GetMetadata("PackageType") == "Dependency"); + var archiveTools = PackageArtifacts.Where(p => p.GetMetadata("LZMA") == "true" && p.GetMetadata("PackageType") == "DotnetCliTool"); var buildArtifacts = BuildArtifacts.Select(ArtifactInfo.Parse) .OfType() .Where(p => !p.IsSymbolsArtifact); diff --git a/build/tasks/JoinItems.cs b/build/tasks/JoinItems.cs new file mode 100644 index 0000000000..facfd4fa53 --- /dev/null +++ b/build/tasks/JoinItems.cs @@ -0,0 +1,122 @@ +// 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 System.Text; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; + +namespace RepoTasks +{ + public class JoinItems : Task + { + [Required] + public ITaskItem[] Left { get; set; } + + [Required] + public ITaskItem[] Right { get; set; } + + // The metadata to use as the new item spec. If not specified, LeftKey is used. + public string LeftItemSpec { get; set; } + + // LeftKey and RightKey: The metadata to join on. If not set, then use the ItemSpec + public string LeftKey { get; set; } + + public string RightKey { get; set; } + + + // LeftMetadata and RightMetadata: The metadata names to include in the result. Specify "*" to include all metadata + public string[] LeftMetadata { get; set; } + + public string[] RightMetadata { get; set; } + + + [Output] + public ITaskItem[] JoinResult { get; private set; } + + public override bool Execute() + { + bool useAllLeftMetadata = LeftMetadata != null && LeftMetadata.Length == 1 && LeftMetadata[0] == "*"; + bool useAllRightMetadata = RightMetadata != null && RightMetadata.Length == 1 && RightMetadata[0] == "*"; + var newItemSpec = string.IsNullOrEmpty(LeftItemSpec) + ? LeftKey + : LeftItemSpec; + + JoinResult = Left.Join(Right, + item => GetKeyValue(LeftKey, item), + item => GetKeyValue(RightKey, item), + (left, right) => + { + // If including all metadata from left items and none from right items, just return left items directly + if (useAllLeftMetadata && + string.IsNullOrEmpty(LeftKey) && + string.IsNullOrEmpty(LeftItemSpec) && + (RightMetadata == null || RightMetadata.Length == 0)) + { + return left; + } + + // If including all metadata from right items and none from left items, just return the right items directly + if (useAllRightMetadata && + string.IsNullOrEmpty(RightKey) && + string.IsNullOrEmpty(LeftItemSpec) && + (LeftMetadata == null || LeftMetadata.Length == 0)) + { + return right; + } + + var ret = new TaskItem(GetKeyValue(newItemSpec, left)); + + // Weird ordering here is to prefer left metadata in all cases, as CopyToMetadata doesn't overwrite any existing metadata + if (useAllLeftMetadata) + { + // CopyMetadata adds an OriginalItemSpec, which we don't want. So we subsequently remove it + left.CopyMetadataTo(ret); + ret.RemoveMetadata("OriginalItemSpec"); + } + + if (!useAllRightMetadata && RightMetadata != null) + { + foreach (string name in RightMetadata) + { + ret.SetMetadata(name, right.GetMetadata(name)); + } + } + + if (!useAllLeftMetadata && LeftMetadata != null) + { + foreach (string name in LeftMetadata) + { + ret.SetMetadata(name, left.GetMetadata(name)); + } + } + + if (useAllRightMetadata) + { + // CopyMetadata adds an OriginalItemSpec, which we don't want. So we subsequently remove it + right.CopyMetadataTo(ret); + ret.RemoveMetadata("OriginalItemSpec"); + } + + return (ITaskItem)ret; + }, + StringComparer.OrdinalIgnoreCase).ToArray(); + + return true; + } + + static string GetKeyValue(string key, ITaskItem item) + { + if (string.IsNullOrEmpty(key)) + { + return item.ItemSpec; + } + else + { + return item.GetMetadata(key); + } + } + } +} diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks index 1176f79344..d579d64845 100644 --- a/build/tasks/RepoTasks.tasks +++ b/build/tasks/RepoTasks.tasks @@ -12,6 +12,7 @@ +