We always return the token/password first and, if applicable, the user
name is the second element in the returned array.
Closes#581.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
`Tap.fetch` and commands building on top of it accepted tap names like
`homebrew/homebrew/bogus` causing some misbehavior. Ensure neither
`user` nor `repo` include slashes and print a more helpful error message
that additionally includes the problematic tap name.
Closes#585.
Closes#591.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
In fact, we don't really care about undeclared dependencies for optional
installations. Because, this is mainly used to help us to detect breakage
for bottles so we can do a revision bump.
Make sure to call `brew tests` only once with `--coverage` to avoid
expensive multiple runs and to prevent later runs from overwriting
previously sent results to Coveralls. (The previous setup overwrote the
results from a regular run with results from the `--generic` run.)
The `--no-compat` variant without any other options specified seemed to
be the most appropriate for a coverage report.
Closes#546.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
SimpleCov 0.12.0 brings some moderate speed improvements and soon (sadly
not yet) can be switched back to a stable release. Update to matching
Coveralls release, fortunately with fewer dependencies than before.
Make `Library/Homebrew` the new root now that *all* implementation files
are in this directory. Update filters/groups accordingly.
Note that paths in filters/groups are not anchored at the root and are
always matched against the full path. Our rules are effectively anchored
because they always include the `/Homebrew/` path component.
Provides feature parity between the block and non-block forms of
inreplace by creating a four-argument version of the non-block form,
where the fourth argument is an optional Boolean value, defaulting to
true, which specifies whether a failed inreplace should cause an
InreplaceError error to be raised. The fourth argument is passed along
to StringInreplaceExtension#gsub!, which already supports an optional
audit_result argument.
This resolves the Catch-22 that single replacements aren't permissible
in the block form (in that they now cause `brew audit` to complain), but
the audit_result argument is not available in the non-block form.
Closes#552.
Signed-off-by: ilovezfs <ilovezfs@icloud.com>
Since we are loading options as Formula#build from tab, we will have to explicitly read
options from ARGV as well.
Fixes#3066.
Closes#537.
Signed-off-by: Xu Cheng <xucheng@me.com>