| File: Commands\NuGet\Remove\DotnetNuGetRemoveCommand.cs | Web Access |
| Project: src\nuget-client\src\NuGet.Core\NuGet.CommandLine.XPlat\NuGet.CommandLine.XPlat.csproj (NuGet.CommandLine.XPlat) |
// 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. using System; using System.CommandLine; using System.Threading.Tasks; using NuGet.Commands; namespace NuGet.CommandLine.XPlat.Commands.NuGet.Remove { internal static class DotnetNuGetRemoveCommand { internal static void Register(Command parent, Func<ILoggerWithColor> getLogger) { var removeCmd = new Command("remove", Strings.Remove_Description); RegisterRemoveSource(removeCmd, getLogger); RegisterRemoveClientCert(removeCmd, getLogger); parent.Subcommands.Add(removeCmd); } private static void RegisterRemoveSource(Command parent, Func<ILoggerWithColor> getLogger) { var sourceCmd = new Command("source", Strings.RemoveSourceCommandDescription); var nameArg = new Argument<string>("name") { Description = Strings.SourcesCommandNameDescription }; var configfile = new Option<string>("--configfile") { Description = Strings.Option_ConfigFile }; sourceCmd.Arguments.Add(nameArg); sourceCmd.Options.Add(configfile); sourceCmd.SetAction((parseResult, cancellationToken) => { var args = new RemoveSourceArgs() { Name = parseResult.GetValue(nameArg), Configfile = parseResult.GetValue(configfile), }; RemoveSourceRunner.Run(args, () => getLogger()); return Task.FromResult(0); }); parent.Subcommands.Add(sourceCmd); } private static void RegisterRemoveClientCert(Command parent, Func<ILoggerWithColor> getLogger) { var clientCertCmd = new Command("client-cert", Strings.RemoveClientCertCommandDescription); var packagesource = new Option<string>("--package-source", "-s") { Description = Strings.Option_PackageSource }; var configfile = new Option<string>("--configfile") { Description = Strings.Option_ConfigFile }; clientCertCmd.Options.Add(packagesource); clientCertCmd.Options.Add(configfile); clientCertCmd.SetAction((parseResult, cancellationToken) => { var args = new RemoveClientCertArgs() { PackageSource = parseResult.GetValue(packagesource), Configfile = parseResult.GetValue(configfile), }; RemoveClientCertRunner.Run(args, () => getLogger()); return Task.FromResult(0); }); parent.Subcommands.Add(clientCertCmd); } } }