# typed: true # frozen_string_literal: true require "cli/parser" require "utils/pypi" module Homebrew extend T::Sig module_function sig { returns(CLI::Parser) } def update_python_resources_args Homebrew::CLI::Parser.new do description <<~EOS Update versions for PyPI resource blocks in . EOS switch "-p", "--print-only", description: "Print the updated resource blocks instead of changing ." switch "-s", "--silent", description: "Suppress any output." switch "--ignore-non-pypi-packages", description: "Don't fail if is not a PyPI package." flag "--version=", description: "Use the specified when finding resources for . "\ "If no version is specified, the current version for will be used." flag "--package-name=", description: "Use the specified when finding resources for . "\ "If no package name is specified, it will be inferred from the formula's stable URL." comma_array "--extra-packages=", description: "Include these additional packages when finding resources." comma_array "--exclude-packages=", description: "Exclude these packages when finding resources." named_args :formula, min: 1 end end def update_python_resources args = update_python_resources_args.parse args.named.to_formulae.each do |formula| PyPI.update_python_resources! formula, version: args.version, package_name: args.package_name, extra_packages: args.extra_packages, exclude_packages: args.exclude_packages, print_only: args.print_only?, silent: args.silent?, ignore_non_pypi_packages: args.ignore_non_pypi_packages? end end end