diff --git a/src/ModularPipelines.Build/Helpers/NugetUploadHelper.cs b/src/ModularPipelines.Build/Helpers/NugetUploadHelper.cs new file mode 100644 index 0000000000..8fd754f2f3 --- /dev/null +++ b/src/ModularPipelines.Build/Helpers/NugetUploadHelper.cs @@ -0,0 +1,28 @@ +using EnumerableAsyncProcessor.Extensions; +using ModularPipelines.Context; +using ModularPipelines.DotNet.Extensions; +using ModularPipelines.DotNet.Options; +using ModularPipelines.Models; +using File = ModularPipelines.FileSystem.File; + +namespace ModularPipelines.Build.Helpers; + +public static class NugetUploadHelper +{ + public static async Task UploadPackagesAsync( + IModuleContext context, + IEnumerable packagePaths, + string source, + string? apiKey, + CancellationToken cancellationToken) + { + return await packagePaths + .SelectAsync(async nugetFile => await context.DotNet().Nuget.Push(new DotNetNugetPushOptions + { + Path = nugetFile, + Source = source, + ApiKey = apiKey, + }, cancellationToken), cancellationToken: cancellationToken) + .ProcessOneAtATime(); + } +} diff --git a/src/ModularPipelines.Build/Modules/LocalMachine/UploadPackagesToLocalNuGetModule.cs b/src/ModularPipelines.Build/Modules/LocalMachine/UploadPackagesToLocalNuGetModule.cs index 077365923d..197ec47680 100644 --- a/src/ModularPipelines.Build/Modules/LocalMachine/UploadPackagesToLocalNuGetModule.cs +++ b/src/ModularPipelines.Build/Modules/LocalMachine/UploadPackagesToLocalNuGetModule.cs @@ -1,9 +1,6 @@ -using EnumerableAsyncProcessor.Extensions; -using Microsoft.Extensions.Logging; using ModularPipelines.Attributes; +using ModularPipelines.Build.Helpers; using ModularPipelines.Context; -using ModularPipelines.DotNet.Extensions; -using ModularPipelines.DotNet.Options; using ModularPipelines.Extensions; using ModularPipelines.FileSystem; using ModularPipelines.Models; @@ -23,12 +20,11 @@ public class UploadPackagesToLocalNuGetModule : Module var localRepoLocation = context.GetModule(); var packagePaths = context.GetModule>(); - return await packagePaths.Value! - .SelectAsync(async nugetFile => await context.DotNet().Nuget.Push(new DotNetNugetPushOptions - { - Path = nugetFile, - Source = localRepoLocation.Value.AssertExists(), - }, cancellationToken), cancellationToken: cancellationToken) - .ProcessOneAtATime(); + return await NugetUploadHelper.UploadPackagesAsync( + context, + packagePaths.Value!, + source: localRepoLocation.Value.AssertExists()!.Path, + apiKey: null, + cancellationToken); } } \ No newline at end of file diff --git a/src/ModularPipelines.Build/Modules/UploadPackagesToNugetModule.cs b/src/ModularPipelines.Build/Modules/UploadPackagesToNugetModule.cs index 3b5caa0117..e701801152 100644 --- a/src/ModularPipelines.Build/Modules/UploadPackagesToNugetModule.cs +++ b/src/ModularPipelines.Build/Modules/UploadPackagesToNugetModule.cs @@ -1,11 +1,8 @@ -using EnumerableAsyncProcessor.Extensions; -using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using ModularPipelines.Attributes; +using ModularPipelines.Build.Helpers; using ModularPipelines.Build.Settings; using ModularPipelines.Context; -using ModularPipelines.DotNet.Extensions; -using ModularPipelines.DotNet.Options; using ModularPipelines.Git.Attributes; using ModularPipelines.GitHub.Attributes; using ModularPipelines.Models; @@ -43,13 +40,11 @@ public Task ShouldSkip(IPipelineContext context) var packagePaths = context.GetModule>(); - return await packagePaths.Value! - .SelectAsync(async nugetFile => await context.DotNet().Nuget.Push(new DotNetNugetPushOptions - { - Path = nugetFile, - Source = "https://api.nuget.org/v3/index.json", - ApiKey = _nugetSettings.Value.ApiKey!, - }, cancellationToken), cancellationToken: cancellationToken) - .ProcessOneAtATime(); + return await NugetUploadHelper.UploadPackagesAsync( + context, + packagePaths.Value!, + source: "https://api.nuget.org/v3/index.json", + apiKey: _nugetSettings.Value.ApiKey, + cancellationToken); } } \ No newline at end of file