diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index db8b04ad3..2292860fd 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -9,12 +9,6 @@ trigger:
- internal/release/5.*
variables:
-# These two variables are used by CopyToLatest.
-# when CopyToLatest goes away in favor of improvements to dotnet-install, this can be removed.
-- name: _PublishBlobFeedUrl
- value: https://dotnetcli.blob.core.windows.net/dotnet/index.json
-- name: _PublishChecksumsBlobFeedUrl
- value: https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json
- name: _PublishUsingPipelines
value: false
- name: PostBuildSign
@@ -390,27 +384,3 @@ stages:
-TsaRepositoryName "dotnet-installer"
-TsaCodebaseName "dotnet-installer"
-TsaPublish $True'
-
-- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), not(contains(variables['Build.SourceBranch'], 'refs/heads/internal/'))) }}:
- - stage: copy_to_latest
- displayName: Copy to latest
- dependsOn:
- # This will run only after all the publishing stages have run.
- # These stages are introduced in the eng/common/templates/post-build/channels YAML templates
- - publish_using_darc
- jobs:
- - job: Copy_SDK_To_Latest
- pool:
- name: Hosted VS2017
- condition: succeeded()
- variables:
- - group: DotNet-DotNetCli-Storage
- steps:
- - script: eng/CopyToLatest.cmd
- /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- /p:DotnetPublishSdkAssetsBlobFeedUrl=https://dotnetcli.blob.core.windows.net/dotnet/index.json
- /p:DotNetPublishSdkAssetsBlobFeedKey=$(dotnetcli-storage-key)
- /p:DotnetPublishChecksumsBlobFeedUrl=https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json
- /p:DotNetPublishChecksumsBlobFeedKey=$(dotnetclichecksums-storage-key)
- /p:SourceBranch=$(BUILD.SOURCEBRANCH)
- displayName: Copy to latest
diff --git a/eng/Publishing.props b/eng/Publishing.props
index d4f6a188e..cab8f45f0 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -8,11 +8,6 @@
Sdk
$(Product)
- $(DotnetPublishChecksumsBlobFeedUrl)
- $(DotnetPublishSdkAssetsBlobFeedUrl)
-
- false
- true
true
@@ -70,7 +65,6 @@
-
@@ -79,7 +73,6 @@
-
@@ -94,8 +87,7 @@
+ BeforeTargets="Publish">
-
-
diff --git a/eng/build.yml b/eng/build.yml
index 63e5254a3..a46926894 100644
--- a/eng/build.yml
+++ b/eng/build.yml
@@ -68,8 +68,6 @@ phases:
- _PushToVSFeed: true
- _SignType: real
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- /p:DotnetPublishSdkAssetsBlobFeedUrl=$(_PublishBlobFeedUrl)
- /p:DotnetPublishChecksumsBlobFeedUrl=$(_PublishChecksumsBlobFeedUrl)
/p:DotNetSignType=$(_SignType)
/p:TeamName=$(_TeamName)
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
diff --git a/src/CopyToLatest/CopyToLatest.csproj b/src/CopyToLatest/CopyToLatest.csproj
deleted file mode 100644
index a61ea4a61..000000000
--- a/src/CopyToLatest/CopyToLatest.csproj
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- $(CoreSdkTargetFramework)
- true
- false
- $(SourceBranch.Replace('refs/heads/', ''))
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/CopyToLatest/targets/FinishBuild.targets b/src/CopyToLatest/targets/FinishBuild.targets
deleted file mode 100644
index 880487ef7..000000000
--- a/src/CopyToLatest/targets/FinishBuild.targets
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/core-sdk-tasks/CopyBlobsToLatest.cs b/src/core-sdk-tasks/CopyBlobsToLatest.cs
deleted file mode 100644
index a62000ba7..000000000
--- a/src/core-sdk-tasks/CopyBlobsToLatest.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright (c) .NET Foundation and contributors. All rights reserved.
-// Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-#if !SOURCE_BUILD
-using Microsoft.Build.Framework;
-using Microsoft.Build.Utilities;
-using System;
-using System.IO;
-using System.Linq;
-using System.Text.RegularExpressions;
-
-namespace Microsoft.DotNet.Cli.Build
-{
- public class CopyBlobsToLatest : Task
- {
- private const string feedRegex = @"(?https:\/\/(?[^\.-]+)(?[^\/]*)\/((?[a-zA-Z0-9+\/]*?\/\d{4}-\d{2}-\d{2})\/)?(?[^\/]+)\/(?.*\/)?)index\.json";
-
- private AzurePublisher _azurePublisher;
-
- [Required]
- public string FeedUrl { get; set; }
-
- [Required]
- public string AccountKey { get; set; }
-
- [Required]
- public string Channel { get; set; }
-
- [Required]
- public string CommitHash { get; set; }
-
- [Required]
- public string NugetVersion { get; set; }
-
- private string ContainerName { get; set; }
-
- private AzurePublisher AzurePublisherTool
- {
- get
- {
- if (_azurePublisher == null)
- {
- Match m = Regex.Match(FeedUrl, feedRegex);
- if (m.Success)
- {
- string accountName = m.Groups["accountname"].Value;
- string ContainerName = m.Groups["containername"].Value;
-
- _azurePublisher = new AzurePublisher(
- accountName,
- AccountKey,
- ContainerName);
- }
- else
- {
- throw new Exception(
- "Unable to parse expected feed. Please check ExpectedFeedUrl.");
- }
- }
-
- return _azurePublisher;
- }
- }
-
- public override bool Execute()
- {
- if (!(Channel.Equals("master") || Channel.Equals("main") || Channel.StartsWith("release")))
- {
- return true; // Skip copy to latest, we don't want to publish to arbitrary places
- }
-
- string targetFolder = $"{AzurePublisher.Product.Sdk}/{Channel}";
-
- string targetVersionFile = $"{targetFolder}/{CommitHash}";
- string semaphoreBlob = $"{targetFolder}/publishSemaphore";
- AzurePublisherTool.CreateBlobIfNotExists(semaphoreBlob);
- string leaseId = AzurePublisherTool.AcquireLeaseOnBlob(semaphoreBlob);
-
- // Prevent race conditions by dropping a version hint of what version this is. If we see this file
- // and it is the same as our version then we know that a race happened where two+ builds finished
- // at the same time and someone already took care of publishing and we have no work to do.
- if (AzurePublisherTool.IsLatestSpecifiedVersion(targetVersionFile))
- {
- AzurePublisherTool.ReleaseLeaseOnBlob(semaphoreBlob, leaseId);
- return true;
- }
- else
- {
- Regex versionFileRegex = new Regex(@"(?[\w\d]{40})");
-
- // Delete old version files
- AzurePublisherTool.ListBlobs(targetFolder)
- .Where(s => versionFileRegex.IsMatch(s))
- .ToList()
- .ForEach(f => AzurePublisherTool.TryDeleteBlob(f));
-
- // Drop the version file signaling such for any race-condition builds (see above comment).
- AzurePublisherTool.DropLatestSpecifiedVersion(targetVersionFile);
- }
-
- try
- {
- CopyBlobs(targetFolder);
-
- string cliVersion = GetVersionFileContent(CommitHash, NugetVersion);
- AzurePublisherTool.PublishStringToBlob($"{targetFolder}/latest.version", cliVersion);
- }
- finally
- {
- AzurePublisherTool.ReleaseLeaseOnBlob(semaphoreBlob, leaseId);
- }
-
- return true;
- }
-
- private void CopyBlobs(string destinationFolder)
- {
- Log.LogMessage("Copying blobs to {0}/{1}", ContainerName, destinationFolder);
-
- foreach (string blob in AzurePublisherTool.ListBlobs(AzurePublisher.Product.Sdk, NugetVersion))
- {
- string targetName = Path.GetFileName(blob)
- .Replace(NugetVersion, "latest");
-
- string target = $"{destinationFolder}/{targetName}";
-
- AzurePublisherTool.CopyBlob(blob, target);
- }
- }
-
- private string GetVersionFileContent(string commitHash, string version)
- {
- return $@"{commitHash}{Environment.NewLine}{version}{Environment.NewLine}";
- }
- }
-}
-#endif
diff --git a/src/redist/targets/BuildCoreSdkTasks.targets b/src/redist/targets/BuildCoreSdkTasks.targets
index a3ccc3880..d7692cebc 100644
--- a/src/redist/targets/BuildCoreSdkTasks.targets
+++ b/src/redist/targets/BuildCoreSdkTasks.targets
@@ -33,7 +33,6 @@
-