diff --git a/build/Maestro/Maestro.csproj b/build/Maestro/Maestro.csproj
new file mode 100644
index 0000000000..e9af762aa8
--- /dev/null
+++ b/build/Maestro/Maestro.csproj
@@ -0,0 +1,37 @@
+
+
+
+
+ netcoreapp3.0
+ true
+ $(ArtifactsDir)manifests\
+ true
+
+
+
+
+
+
+
+
+
+
+
+ NonShipping=true
+
+
+
+
+
+
+
+
+
+
diff --git a/build/Publish.targets b/build/Publish.targets
deleted file mode 100644
index 17248cc56c..0000000000
--- a/build/Publish.targets
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/publish/Publish.csproj b/build/publish/Publish.csproj
deleted file mode 100644
index ef60f95814..0000000000
--- a/build/publish/Publish.csproj
+++ /dev/null
@@ -1,182 +0,0 @@
-
-
-
-
-
-
- netcoreapp3.0
- true
- $(ArtifactsDir)manifests\
- https://maestro-prod.westus2.cloudapp.azure.com
- true
-
-
-
-
-
-
-
-
-
-
-
- GetFilesToPublish;
- GenerateBuildAssetManifest;
- PublishToAzureFeed;
- PublishToMyGet;
- PublishToBuildAssetRegistry;
-
-
-
-
-
-
-
-
- <_FilesToPublish Include="$(InstallersOutputPath)*.txt">
- text/plain
-
-
- <_FilesToPublish Include="$(InstallersOutputPath)*.version">
- text/plain
- no-cache, no-store, must-revalidate
-
-
- <_FilesToPublish Include="$(InstallersOutputPath)*.svg">
- no-cache, no-store, must-revalidate
- image/svg+xml
-
-
-
- <_FilesToPublish Include="$(InstallersOutputPath)*" Exclude="@(_FilesToPublish)" />
-
-
- <_FilesToPublish Include="$(ArtifactsShippingPackagesDir)*.jar;$(ArtifactsShippingPackagesDir)*.pom">
- aspnetcore/jar/$(PackageVersion)/
-
-
-
-
- aspnetcore/npm/$(PackageVersion)/
-
- <_FilesToPublish Include="@(NpmPackageToPublish)" />
-
-
-
- %(_FilesToPublish.BlobBasePath)%(_FilesToPublish.FileName)%(_FilesToPublish.Extension)
- aspnetcore/Runtime/$(PackageVersion)/%(_FilesToPublish.FileName)%(_FilesToPublish.Extension)
-
- <_FilesToPublish Remove="@(_FilesToPublish)" />
-
-
-
-
-
-
-
-
- NonShipping=true
-
-
- NonShipping=true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(PublishMyGetNpmRegistryUrl.Replace("https:", "")):_authToken
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/repo.targets b/build/repo.targets
index 1474629b04..b076164fc8 100644
--- a/build/repo.targets
+++ b/build/repo.targets
@@ -2,7 +2,6 @@
-
@@ -101,4 +100,15 @@
FrameworkOnlyPackages="@(SharedFrameworkOnlyPackage)" />
+
+
+
+
+
+
+
diff --git a/build/tasks/PublishToAzureBlob.cs b/build/tasks/PublishToAzureBlob.cs
deleted file mode 100644
index 71f1b1c29a..0000000000
--- a/build/tasks/PublishToAzureBlob.cs
+++ /dev/null
@@ -1,146 +0,0 @@
-// 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.
-
-#if BUILD_AZ_TASKS
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using System.Threading.Tasks;
-using Microsoft.Build.Framework;
-using Microsoft.WindowsAzure.Storage;
-using Microsoft.WindowsAzure.Storage.Blob;
-
-namespace RepoTasks
-{
- ///
- /// Publish files to an Azure storage blob
- ///
- public class PublishToAzureBlob : Microsoft.Build.Utilities.Task, ICancelableTask
- {
- private CancellationTokenSource _cts = new CancellationTokenSource();
-
- ///
- /// The files to publish.
- ///
- [Required]
- public ITaskItem[] Files { get; set; }
-
- ///
- /// The Azure blob storage account name.
- ///
- [Required]
- public string AccountName { get; set; }
-
- ///
- /// The SAS token used to write to Azure.
- ///
- [Required]
- public string SharedAccessToken { get; set; }
-
- ///
- /// The Azure blob storage container name
- ///
- [Required]
- public string ContainerName { get; set; }
-
- ///
- /// The maximum number of parallel pushes.
- ///
- public int MaxParallelism { get; set; } = 8;
-
- public void Cancel() => _cts.Cancel();
-
- public override bool Execute()
- => ExecuteAsync().Result;
-
- private async Task ExecuteAsync()
- {
- var connectionString = $"BlobEndpoint=https://{AccountName}.blob.core.windows.net;SharedAccessSignature={SharedAccessToken}";
-
- var account = CloudStorageAccount.Parse(connectionString);
- var client = account.CreateCloudBlobClient();
- var container = client.GetContainerReference(ContainerName);
-
- var ctx = new OperationContext();
- var tasks = new List();
-
- using (var throttler = new SemaphoreSlim(MaxParallelism))
- {
- foreach (var item in Files)
- {
- _cts.Token.ThrowIfCancellationRequested();
- await throttler.WaitAsync( _cts.Token);
- tasks.Add(
- Task.Run(async () =>
- {
- try
- {
- await PushFileAsync(ctx, container, item, _cts.Token);
- }
- finally
- {
- throttler.Release();
- }
- }));
- }
-
- await Task.WhenAll(tasks);
- }
-
- return !Log.HasLoggedErrors;
- }
-
- private async Task PushFileAsync(OperationContext ctx, CloudBlobContainer container, ITaskItem item, CancellationToken cancellationToken)
- {
- cancellationToken.ThrowIfCancellationRequested();
-
- // normalize slashes
- var dest = item.GetMetadata("RelativeBlobPath")
- .Replace('\\', '/')
- .Replace("//", "/");
- var contentType = item.GetMetadata("ContentType");
- var cacheControl = item.GetMetadata("CacheControl");
-
- if (string.IsNullOrEmpty(dest))
- {
- Log.LogError($"Item {item.ItemSpec} is missing required metadata 'RelativeBlobPath'");
- return;
- }
-
- var blob = container.GetBlockBlobReference(dest);
-
- if (!string.IsNullOrEmpty(cacheControl))
- {
- blob.Properties.CacheControl = cacheControl;
- }
-
- if (!string.IsNullOrEmpty(contentType))
- {
- blob.Properties.ContentType = contentType;
- }
-
- Log.LogMessage(MessageImportance.High, $"Beginning push of {item.ItemSpec} to https://{AccountName}.blob.core.windows.net/{ContainerName}/{dest}");
-
- var accessCondition = bool.TryParse(item.GetMetadata("Overwrite"), out var overwrite) && overwrite
- ? AccessCondition.GenerateEmptyCondition()
- : AccessCondition.GenerateIfNotExistsCondition();
-
- try
- {
- await blob.UploadFromFileAsync(item.ItemSpec, accessCondition, new BlobRequestOptions(), ctx, cancellationToken);
- }
- catch (Exception ex)
- {
- Log.LogError($"Error publishing {item.ItemSpec}: {ex}");
- return;
- }
- finally
- {
- Log.LogMessage(MessageImportance.High, $"Done publishing {item.ItemSpec} to https://{AccountName}.blob.core.windows.net/{ContainerName}/{dest}");
- }
- }
- }
-}
-#endif
diff --git a/build/tasks/RepoTasks.csproj b/build/tasks/RepoTasks.csproj
index 7f351493fb..2069525e61 100644
--- a/build/tasks/RepoTasks.csproj
+++ b/build/tasks/RepoTasks.csproj
@@ -5,7 +5,6 @@
netcoreapp2.2
net461
$(DefineConstants);BUILD_MSI_TASKS
- $(DefineConstants);BUILD_AZ_TASKS
true
@@ -13,7 +12,6 @@
-
diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks
index 54e1e69495..d253037b90 100644
--- a/build/tasks/RepoTasks.tasks
+++ b/build/tasks/RepoTasks.tasks
@@ -7,6 +7,5 @@
-