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 @@ -