62 Commits

Author SHA1 Message Date
Rylan Polster
f295e36a22
extract: re-add named arg types 2021-01-23 15:10:14 -05:00
Issy Long
49b9b6cf3f
dev-cmd/extract: Improve the usage instructions
- A friend got an error message when trying to use `brew extract` and it
  wasn't immediately obvious to me why. The usage banner only mentioned
  the "formula" argument, which they'd provided. This improves the error
  message when there aren't enough arguments so that others have a
  chance of figuring out how to use this command without having to look
  at the code for `extract_args`.

Before:

```
➜ brew extract --version='1.4' libftdi
Usage: brew extract [--version=] [--force] formula ...
[...]
Error: Invalid usage: this command requires a formula argument
```

After:

```
➜ brew extract --version='1.4' libftdi
Usage: brew extract [options] formula tap
[...]
Error: Invalid usage: This command requires at least 2 named arguments.
```

- I don't like the "at least 2" phrasing here but that's a dive into the
  arg parsing code that I don't have time for right now. An alternative
  was `named_args [:formula, :destination_tap]`, but that gave the error
  message "requires formula or destination_tap" which wasn't great
  either. I also tried `min: 2, max: 2` and that was the same "at least
  2" message.
2021-01-23 20:01:11 +00:00
Rylan Polster
d1f3e39b7b
Update commands to generate usage banner 2021-01-18 21:20:11 -05:00
Rylan Polster
da811373d3 Add named_args DSL for commands 2021-01-13 17:09:42 -05:00
Markus Reiter
da9289eff0 Add more type signatures. 2020-11-13 12:26:36 +01:00
Markus Reiter
52de3f9d8d extract: fix tap regex 2020-11-10 23:28:31 +11:00
Jonathan Chang
ab7b757400 rubocop: fix Style/NegatedIfElseCondition 2020-11-10 23:28:31 +11:00
Markus Reiter
24ae318a3d Move type annotations into files. 2020-10-10 14:59:39 +02:00
Markus Reiter
3118fedab9 Refactor and document Git. 2020-08-23 06:40:07 +02:00
Bo Anderson
e3372e2a14 Lazily require some heavy files 2020-08-20 02:05:17 +01:00
Markus Reiter
d4c2ffd705 Refactor CLI::Parser. 2020-07-31 15:07:17 +02:00
Markus Reiter
c0d42dd922 Remove --force from global_options. 2020-07-28 10:31:11 +02:00
Mike McQuaid
7596108bd2
Bottle extract and fetch fixes
- Make `brew extract` strip out bottle blocks
- Make `brew extract` output the path in a readable fashion
- Warn about building from source before fetching (not installing)
- If fetching a bottle fails, refetch and build from source.
2020-07-02 11:57:11 +01:00
Caleb Xu
2e6b8d65b3 extract: fix typo 2020-06-18 11:19:04 -04:00
vidusheeamoli
9cfef07682 dev-cmd/extract: instruct users to run git fetch unshallow 2020-04-14 18:07:41 +05:30
Mike McQuaid
3381cbf5c7
Use Homebrew::EnvConfig. 2020-04-07 09:58:26 +01:00
Mike McQuaid
e3ac94fc5d
dev-cmd: use more and cleanup new args APIs. 2020-03-05 09:40:15 +00:00
Mike McQuaid
2eb908a9fb
dev-cmd/extract: allow maintainers to extract to core.
I was wanting to do this today to add `ruby@2.6` and it's a social
rather than technical requirement (i.e. we don't want users to mess
with their homebrew/core unless they know what they are doing) so allow
overriding with `HOMEBREW_DEVELOPER` set.
2020-02-27 10:36:10 +00:00
Caleb Xu
fa5faf3895 extract: handle versioned formulae names
Turn the output versioned formula from the form "name@version" to
"name-version", then following by appending the specific version
after it.

This solution ensures that separate extracted versions of a formulae
can exist alongside each other (e.g. 'python-2@2.7.17' and
'python-2@2.7.16').
2020-02-23 14:32:13 -05:00
Gautham Goli
161c3fb6a4 ARGV: Replaces usages of ARGV.force? with Homebrew.args.force? 2020-01-15 21:09:31 +05:30
EricFromCanada
aea6d79d21 option parser: check for extra named args 2019-12-15 00:04:45 -05:00
EricFromCanada
2f7c3afeb8 cmd: improve wording of messages, spacing 2019-12-15 00:04:45 -05:00
Figroc Chen
3c09ab0d06 extract: semver aware 2019-12-03 21:45:55 +08:00
EricFromCanada
9bfd597991 Format debug messages with odebug 2019-12-02 11:33:19 -05:00
EricFromCanada
8a8359cdd4 manpages: sentence rewording for readability
Use active voice when applicable, better verbs & adjectives, preposition usage, proper tense, etc.
2019-08-20 09:05:45 -04:00
EricFromCanada
6340792f78 manpages: output formatting fixes 2019-08-20 08:28:35 -04:00
EricFromCanada
a3e0647797 manpages: whitespace fixes 2019-08-20 08:24:20 -04:00
Mike McQuaid
c4f72312ce
Fixup brew style failures. 2019-04-30 09:19:18 +01:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
Mike McQuaid
d42f562d45
Merge pull request #6038 from GauthamGoli/extract-args-fix
extract: Replace ARGV.named with args.remaining
2019-04-19 17:40:55 +09:00
Gautham Goli
8374c3713a extract: Replace ARGV.named with args.remaining 2019-04-19 13:13:43 +05:30
Mike McQuaid
e40b171127
Rename cli_parser to cli/parser. 2019-04-17 22:16:50 +09:00
kiendang
028b8b408d Remove use of bash 2019-03-20 20:19:33 +08:00
kiendang
6be6bba0be brew extract from all taps 2019-03-17 23:44:35 +08:00
kiendang
d58e94ed6f Fix class name for brew extract 2019-03-15 11:27:39 +08:00
kiendang
330015ffbd Fix incorrect formula name from file name 2019-03-13 00:49:56 +08:00
Mike McQuaid
d64429a736
rubocop: enable Style/IfUnlessModifier. 2019-02-21 12:55:49 +00:00
Mike McQuaid
bbea109926
dev-cmd: remove --help headers and tweak docs. 2019-01-30 21:39:28 +00:00
EricFromCanada
388781f6a7 dev-cmd/: remove colons from command specs.
These aren't needed when converting Parser-based help text to man page or Markdown formats.
Includes regenerated docs.
2018-10-19 13:12:55 -04:00
EricFromCanada
ddf057f3dd dev-cmd/: edit help text and descriptions. 2018-10-19 13:12:11 -04:00
Markus Reiter
c4d418e126 Use ActiveSupport’s #second. 2018-10-07 23:10:56 +02:00
EricFromCanada
997a207889 docs: fix Official External Commands section
Work around ronn's inability to nest indents within list items by modifying its output to add a line break and indent after lines ending with a colon that aren't a list item's first line. This allows `brew.1.md.erb` to join the commands' help text without extra line breaks, which avoids the issue where kramdown was turning any command specs containing pipe characters into tables in the HTML output.
2018-10-05 23:47:48 -04:00
Gautham Goli
38feaf1270
extract: Add option descriptions 2018-10-03 20:18:05 +05:30
Markus Reiter
e9b9ea49a1 Update to RuboCop 0.59.1. 2018-09-17 03:45:59 +02:00
Caleb Xu
b1120dd404 extract: check if DependencyCollector::Compat is defined before monkey-patch 2018-08-26 02:22:09 -04:00
Caleb Xu
ad0f9d603f extract: localize DependencyCollector monkey-patches too 2018-08-25 19:52:22 -04:00
Caleb Xu
bd352bcf35 extract: use localized monkey-patching
Instead of just blanketing over with monkey-patches like before,
set up monkey-patches as needed, and make sure to clean up after
we're done.
2018-08-25 14:52:30 -04:00
Caleb Xu
a8563afc9e extract: add progress message when searching Git history
For the impatient ones out there.
2018-08-25 13:40:57 -04:00
Caleb Xu
ff2ce2f093 extract: better success message
Fixes the empty rev string when copying file from HEAD; explicitly
set rev to HEAD in that case.
2018-08-25 13:35:08 -04:00
Caleb Xu
d4a2006f04 extract: add missing monkey-patch 2018-08-25 13:33:25 -04:00