public UninstallCommandArgs(BaseUninstallCommand uninstallCommand, ParseResult parseResult) : base(uninstallCommand, parseResult) { TemplatePackages = parseResult.GetValueForArgument(BaseUninstallCommand.NameArgument) ?? Array.Empty <string>(); //workaround for --install source1 --install source2 case if (uninstallCommand is LegacyUninstallCommand && uninstallCommand.Aliases.Any(alias => TemplatePackages.Contains(alias))) { TemplatePackages = TemplatePackages.Where(package => !uninstallCommand.Aliases.Contains(package)).ToList(); } }
public InstallCommandArgs(BaseInstallCommand installCommand, ParseResult parseResult) : base(installCommand, parseResult) { TemplatePackages = parseResult.GetValueForArgument(InstallCommand.NameArgument) ?? throw new ArgumentException($"{nameof(parseResult)} should contain at least one argument for {nameof(InstallCommand.NameArgument)}", nameof(parseResult)); //workaround for --install source1 --install source2 case if (installCommand is LegacyInstallCommand && installCommand.Aliases.Any(alias => TemplatePackages.Contains(alias))) { TemplatePackages = TemplatePackages.Where(package => !installCommand.Aliases.Contains(package)).ToList(); } if (!TemplatePackages.Any()) { throw new ArgumentException($"{nameof(parseResult)} should contain at least one argument for {nameof(InstallCommand.NameArgument)}", nameof(parseResult)); } Interactive = parseResult.GetValueForOption(installCommand.InteractiveOption); AdditionalSources = parseResult.GetValueForOption(installCommand.AddSourceOption); Force = parseResult.GetValueForOption(BaseInstallCommand.ForceOption); }