brew/Library/Homebrew/dev-cmd/update-python-resources.rb

56 lines
2.2 KiB
Ruby
Raw Normal View History

2020-11-25 17:03:23 +01:00
# typed: true
# frozen_string_literal: true
require "cli/parser"
require "utils/pypi"
module Homebrew
2020-10-20 12:03:48 +02:00
extend T::Sig
module_function
2020-10-20 12:03:48 +02:00
sig { returns(CLI::Parser) }
def update_python_resources_args
Homebrew::CLI::Parser.new do
usage_banner <<~EOS
`update-python-resources` [<options>] <formula>
Update versions for PyPI resource blocks in <formula>.
EOS
switch "-p", "--print-only",
description: "Print the updated resource blocks instead of changing <formula>."
switch "-s", "--silent",
description: "Suppress any output."
switch "--ignore-non-pypi-packages",
description: "Don't fail if <formula> is not a PyPI package."
2020-11-12 10:40:41 -05:00
flag "--version=",
description: "Use the specified <version> when finding resources for <formula>. "\
"If no version is specified, the current version for <formula> will be used."
flag "--package-name=",
description: "Use the specified <package-name> when finding resources for <formula>. "\
"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."
2020-11-12 10:40:41 -05:00
2021-01-10 14:26:40 -05:00
named_args :formula, number: 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