Merge pull request #5201 from GauthamGoli/fetch-args
fetch: Use CLI::Parser to parse args
This commit is contained in:
commit
3bdc4c294d
@ -15,8 +15,8 @@
|
|||||||
#:
|
#:
|
||||||
#: If `--deps` is passed, also download dependencies for any listed <formulae>.
|
#: If `--deps` is passed, also download dependencies for any listed <formulae>.
|
||||||
#:
|
#:
|
||||||
#: If `--build-from-source` (or `-s`) is passed, download the source rather than a
|
#: If `--build-from-source` (or `-s`) or `--build-bottle` is passed, download the
|
||||||
#: bottle.
|
#: source rather than a bottle.
|
||||||
#:
|
#:
|
||||||
#: If `--force-bottle` is passed, download a bottle if it exists for the
|
#: If `--force-bottle` is passed, download a bottle if it exists for the
|
||||||
#: current or newest version of macOS, even if it would not be used during
|
#: current or newest version of macOS, even if it would not be used during
|
||||||
@ -24,14 +24,51 @@
|
|||||||
|
|
||||||
require "formula"
|
require "formula"
|
||||||
require "fetch"
|
require "fetch"
|
||||||
|
require "cli_parser"
|
||||||
|
|
||||||
module Homebrew
|
module Homebrew
|
||||||
module_function
|
module_function
|
||||||
|
|
||||||
|
def fetch_args
|
||||||
|
Homebrew::CLI::Parser.new do
|
||||||
|
usage_banner <<~EOS
|
||||||
|
`fetch` [<options>] <formulae>
|
||||||
|
|
||||||
|
Download the source packages for the given <formulae>.
|
||||||
|
For tarballs, also print SHA-256 checksums.
|
||||||
|
EOS
|
||||||
|
switch "--HEAD",
|
||||||
|
description: "Fetch HEAD version instead of stable version."
|
||||||
|
switch "--devel",
|
||||||
|
description: "Fetch devel version instead of stable version."
|
||||||
|
switch :verbose,
|
||||||
|
description: "Do a verbose VCS checkout, if the URL represents a VCS. This is useful for "\
|
||||||
|
"seeing if an existing VCS cache has been updated."
|
||||||
|
switch :force,
|
||||||
|
description: "Remove a previously cached version and re-fetch."
|
||||||
|
switch "--retry",
|
||||||
|
description: "Retry if a download fails or re-download if the checksum of a previously cached "\
|
||||||
|
"version no longer matches."
|
||||||
|
switch "--deps",
|
||||||
|
description: "Download dependencies for any listed <formulae>."
|
||||||
|
switch "-s", "--build-from-source",
|
||||||
|
description: "Download the source for rather than a bottle."
|
||||||
|
switch "--build-bottle",
|
||||||
|
description: "Download the source (for eventual bottling) rather than a bottle."
|
||||||
|
switch "--force-bottle",
|
||||||
|
description: "Download a bottle if it exists for the current or newest version of macOS, "\
|
||||||
|
"even if it would not be used during installation."
|
||||||
|
switch :verbose
|
||||||
|
switch :debug
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def fetch
|
def fetch
|
||||||
|
fetch_args.parse
|
||||||
|
|
||||||
raise FormulaUnspecifiedError if ARGV.named.empty?
|
raise FormulaUnspecifiedError if ARGV.named.empty?
|
||||||
|
|
||||||
if ARGV.include? "--deps"
|
if args.deps?
|
||||||
bucket = []
|
bucket = []
|
||||||
ARGV.formulae.each do |f|
|
ARGV.formulae.each do |f|
|
||||||
bucket << f
|
bucket << f
|
||||||
@ -100,7 +137,7 @@ module Homebrew
|
|||||||
|
|
||||||
def retry_fetch?(f)
|
def retry_fetch?(f)
|
||||||
@fetch_failed ||= Set.new
|
@fetch_failed ||= Set.new
|
||||||
if ARGV.include?("--retry") && @fetch_failed.add?(f)
|
if args.retry? && @fetch_failed.add?(f)
|
||||||
ohai "Retrying download"
|
ohai "Retrying download"
|
||||||
f.clear_cache
|
f.clear_cache
|
||||||
true
|
true
|
||||||
@ -111,7 +148,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def fetch_fetchable(f)
|
def fetch_fetchable(f)
|
||||||
f.clear_cache if ARGV.force?
|
f.clear_cache if args.force?
|
||||||
|
|
||||||
already_fetched = f.cached_download.exist?
|
already_fetched = f.cached_download.exist?
|
||||||
|
|
||||||
|
|||||||
@ -171,8 +171,8 @@ these flags should only appear after a command.
|
|||||||
|
|
||||||
If `--deps` is passed, also download dependencies for any listed *`formulae`*.
|
If `--deps` is passed, also download dependencies for any listed *`formulae`*.
|
||||||
|
|
||||||
If `--build-from-source` (or `-s`) is passed, download the source rather than a
|
If `--build-from-source` (or `-s`) or `--build-bottle` is passed, download the
|
||||||
bottle.
|
source rather than a bottle.
|
||||||
|
|
||||||
If `--force-bottle` is passed, download a bottle if it exists for the
|
If `--force-bottle` is passed, download a bottle if it exists for the
|
||||||
current or newest version of macOS, even if it would not be used during
|
current or newest version of macOS, even if it would not be used during
|
||||||
|
|||||||
@ -174,7 +174,7 @@ If \fB\-\-retry\fR is passed, retry if a download fails or re\-download if the c
|
|||||||
If \fB\-\-deps\fR is passed, also download dependencies for any listed \fIformulae\fR\.
|
If \fB\-\-deps\fR is passed, also download dependencies for any listed \fIformulae\fR\.
|
||||||
.
|
.
|
||||||
.IP
|
.IP
|
||||||
If \fB\-\-build\-from\-source\fR (or \fB\-s\fR) is passed, download the source rather than a bottle\.
|
If \fB\-\-build\-from\-source\fR (or \fB\-s\fR) or \fB\-\-build\-bottle\fR is passed, download the source rather than a bottle\.
|
||||||
.
|
.
|
||||||
.IP
|
.IP
|
||||||
If \fB\-\-force\-bottle\fR is passed, download a bottle if it exists for the current or newest version of macOS, even if it would not be used during installation\.
|
If \fB\-\-force\-bottle\fR is passed, download a bottle if it exists for the current or newest version of macOS, even if it would not be used during installation\.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user