From 941b61416bd122edb336b371cd2f227db5ef6d7d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 9 Sep 2021 09:32:32 -0500 Subject: [PATCH 1/8] Update dependencies from https://github.com/dotnet/arcade build 20210908.11 (#6833) Microsoft.DotNet.Arcade.Sdk From Version 5.0.0-beta.21427.7 -> To Version 5.0.0-beta.21458.11 --- eng/Version.Details.xml | 4 ++-- global.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 011c6b5ea02..125dd1750f1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,9 +1,9 @@ - + https://github.com/dotnet/arcade - 2e26f9ebee3ac27803aa5f2df50192a46393d108 + 96ab23c77f175868db4223a723c25818d3f9cbad https://github.com/nuget/nuget.client diff --git a/global.json b/global.json index cfdb1d7f469..3413f134dc0 100644 --- a/global.json +++ b/global.json @@ -12,6 +12,6 @@ }, "msbuild-sdks": { "Microsoft.Build.CentralPackageVersions": "2.0.1", - "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.21427.7" + "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.21458.11" } } From 669a21e77c571cbf6d37368052dd6a238bee34b5 Mon Sep 17 00:00:00 2001 From: Ben Villalobos <4691428+BenVillalobos@users.noreply.github.com> Date: Tue, 27 Jul 2021 01:17:56 -0700 Subject: [PATCH 2/8] Skip Updating CopyComplete Marker When Not Necessary (#6698) Fixes #https://github.com/dotnet/msbuild/issues/6576 ### Context https://github.com/dotnet/msbuild/issues/6576 revealed that the `.copycomplete` file marker is updated even when the `Copy` task in `_GetCopyFilesMarkedLocal` doesn't _actually_ copy anything. This can mess with incremental builds. ### Changes Made This change adds an output parameter, `CopiedAtLeastOneFile` to the `Copy` task that the `Touch` task is now conditioned off of. ### Testing Tested local builds ### Notes This could also be done by having an ITaskItem[] that contains all files that were actually copied. Then the touch task could check if that item were empty. I opted for the straightforward route since the ITaskItem[] solution isn't needed yet, and this implementation can easily be changed when we do need that. Co-authored-by: Forgind --- .../net/Microsoft.Build.Tasks.Core.cs | 2 ++ .../netstandard/Microsoft.Build.Tasks.Core.cs | 2 ++ src/Tasks/Copy.cs | 6 ++++++ src/Tasks/Microsoft.Common.CurrentVersion.targets | 3 ++- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ref/Microsoft.Build.Tasks.Core/net/Microsoft.Build.Tasks.Core.cs b/ref/Microsoft.Build.Tasks.Core/net/Microsoft.Build.Tasks.Core.cs index c94de3e3688..0e39d539eba 100644 --- a/ref/Microsoft.Build.Tasks.Core/net/Microsoft.Build.Tasks.Core.cs +++ b/ref/Microsoft.Build.Tasks.Core/net/Microsoft.Build.Tasks.Core.cs @@ -207,6 +207,8 @@ public Copy() { } public Microsoft.Build.Framework.ITaskItem[] SourceFiles { get { throw null; } set { } } public bool UseHardlinksIfPossible { get { throw null; } set { } } public bool UseSymboliclinksIfPossible { get { throw null; } set { } } + [Microsoft.Build.Framework.OutputAttribute] + public bool WroteAtLeastOneFile { get { throw null; } } public void Cancel() { } public override bool Execute() { throw null; } } diff --git a/ref/Microsoft.Build.Tasks.Core/netstandard/Microsoft.Build.Tasks.Core.cs b/ref/Microsoft.Build.Tasks.Core/netstandard/Microsoft.Build.Tasks.Core.cs index 27ba53105be..18bd0c97245 100644 --- a/ref/Microsoft.Build.Tasks.Core/netstandard/Microsoft.Build.Tasks.Core.cs +++ b/ref/Microsoft.Build.Tasks.Core/netstandard/Microsoft.Build.Tasks.Core.cs @@ -137,6 +137,8 @@ public Copy() { } public Microsoft.Build.Framework.ITaskItem[] SourceFiles { get { throw null; } set { } } public bool UseHardlinksIfPossible { get { throw null; } set { } } public bool UseSymboliclinksIfPossible { get { throw null; } set { } } + [Microsoft.Build.Framework.OutputAttribute] + public bool WroteAtLeastOneFile { get { throw null; } } public void Cancel() { } public override bool Execute() { throw null; } } diff --git a/src/Tasks/Copy.cs b/src/Tasks/Copy.cs index ba793b673d6..e22b7cc2372 100644 --- a/src/Tasks/Copy.cs +++ b/src/Tasks/Copy.cs @@ -139,6 +139,9 @@ public Copy() [Output] public ITaskItem[] CopiedFiles { get; private set; } + [Output] + public bool WroteAtLeastOneFile { get; private set; } + /// /// Whether to overwrite files in the destination /// that have the read-only attribute set. @@ -298,6 +301,9 @@ FileState destinationFileState // The destination file File.Copy(sourceFileState.Name, destinationFileState.Name, true); } + + // Files were successfully copied or linked. Those are equivalent here. + WroteAtLeastOneFile = true; destinationFileState.Reset(); diff --git a/src/Tasks/Microsoft.Common.CurrentVersion.targets b/src/Tasks/Microsoft.Common.CurrentVersion.targets index 94eb7fac321..0f2b8dea415 100644 --- a/src/Tasks/Microsoft.Common.CurrentVersion.targets +++ b/src/Tasks/Microsoft.Common.CurrentVersion.targets @@ -4690,6 +4690,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. + @@ -4699,7 +4700,7 @@ Copyright (C) Microsoft Corporation. All rights reserved. input to projects that reference this one. --> + Condition="'@(ReferencesCopiedInThisBuild)' != '' and '$(WroteAtLeastOneFile)' == 'true'"> From f8a13d0144b8b9d6ccbe865a66d75379b2005987 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Thu, 16 Sep 2021 15:22:44 -0500 Subject: [PATCH 3/8] Version bump to 16.11.1 --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index c46fb09fd9a..20873217009 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -2,7 +2,7 @@ - 16.11.0 + 16.11.1 release 15.1.0.0 preview From c829c5d4452b278292313cb9f8be34163b3ab634 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 17 Sep 2021 16:40:39 +0200 Subject: [PATCH 4/8] Update dependencies from https://github.com/dotnet/arcade build 20210914.1 (#6850) Microsoft.DotNet.Arcade.Sdk From Version 5.0.0-beta.21458.11 -> To Version 5.0.0-beta.21464.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- global.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 125dd1750f1..6f70dde354f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,9 +1,9 @@ - + https://github.com/dotnet/arcade - 96ab23c77f175868db4223a723c25818d3f9cbad + e230504c07f0d74fbf9067daa0fe255fd449280b https://github.com/nuget/nuget.client diff --git a/global.json b/global.json index 3413f134dc0..4a1744d6e64 100644 --- a/global.json +++ b/global.json @@ -12,6 +12,6 @@ }, "msbuild-sdks": { "Microsoft.Build.CentralPackageVersions": "2.0.1", - "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.21458.11" + "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.21464.1" } } From 1bb737624701bcd4c0bf39d2dab0c25e52e9ab7c Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Fri, 17 Sep 2021 09:50:07 -0500 Subject: [PATCH 5/8] Update to SDK 5.0.401 (#6862) * Update to SDK 5.0.401 Avoids NuGet signing issues and is generally newer and better. * Update eng\Versions.props * Update NuGetBuildTasksVersion in eng\Versions.props Co-authored-by: Ladi Prosek --- eng/Versions.props | 4 ++-- global.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index c46fb09fd9a..bfcfed31645 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -28,9 +28,9 @@ - 5.0.102 + 5.0.401 3.9.0-2.20574.26 - 5.9.1-rc.8 + 5.11.0-rc.10 - 16.11.1 + 16.11.2 release 15.1.0.0 preview diff --git a/src/Tasks/Microsoft.Common.CurrentVersion.targets b/src/Tasks/Microsoft.Common.CurrentVersion.targets index 0f2b8dea415..277494006d1 100644 --- a/src/Tasks/Microsoft.Common.CurrentVersion.targets +++ b/src/Tasks/Microsoft.Common.CurrentVersion.targets @@ -4700,9 +4700,11 @@ Copyright (C) Microsoft Corporation. All rights reserved. input to projects that reference this one. --> - - + Condition="'@(ReferencesCopiedInThisBuild)' != '' and '$(WroteAtLeastOneFile)' == 'true'" /> + + + + From b26f1a2dff48b08b58a6effea28b6cf6d8d9a4e2 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Thu, 14 Oct 2021 14:03:47 -0500 Subject: [PATCH 8/8] C++ CodeAnalysis assemblies to v17 (#6953) These assemblies have moved and versioned in Visual Studio 2022. Update of the workaround for #1675 in #4139. --- src/MSBuild/app.amd64.config | 6 +++--- src/MSBuild/app.config | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/MSBuild/app.amd64.config b/src/MSBuild/app.amd64.config index 93697e88064..9583cfd1e04 100644 --- a/src/MSBuild/app.amd64.config +++ b/src/MSBuild/app.amd64.config @@ -127,15 +127,15 @@ - + - + - + diff --git a/src/MSBuild/app.config b/src/MSBuild/app.config index 047b20fb44c..8fd02af793e 100644 --- a/src/MSBuild/app.config +++ b/src/MSBuild/app.config @@ -119,15 +119,15 @@ - + - + - +