Commit Graph
422 Commits
Author SHA1 Message Date
Mike McQuaid ca189437e4 Tweak use of with_env
- Use it in more places where it saves code
- Allow using symbolic keys for a cleaner interface
- Use `HOMEBREW_GEM_*` instead of `GEM_OLD_*`
2017-10-29 14:44:43 +00:00
Markus Reiter 9bee9ca575 Use “squiggly” heredocs. 2017-10-18 14:39:09 +02:00
Markus Reiter 175ca909ee Clean up code style and remove .rubocop_todo.yml. 2017-10-08 16:10:37 +02:00
Markus Reiter 7cadff0a33 Use PATH where possible. 2017-09-29 22:18:24 +02:00
Dan Wendorf acf1b278ae List cask full-names
`brew cask list` supports the `--full-name` flag which will include the tap
name for casks not part of the core caskroom/cask tap. For example, if
cask "foo-beta" is installed from the caskroom/versions cask, `brew cask
list --full-name` will report the name as "caskroom/versions/foo-beta".
2017-09-16 10:00:06 -07:00
Gautham Goli d45ff9c0fd audit: Add a global flag to silent warning when auditing 2017-09-04 23:57:09 +05:30
Mike McQuaid 2d18ba586b Enable more deprecations.
It's been long enough that these have been commented out so let's
enable them globally.
2017-07-21 10:50:07 +01:00
Misty De Meo 610af15f0e run_as_not_developer: use with_env helper 2017-07-15 17:40:35 -07:00
Misty De Meo 30adcab6cf Add with_env helper to set temporary ENV vars 2017-07-15 17:39:55 -07:00
Markus Reiter 599a618273 Move require? to utils. 2017-06-14 12:51:36 +02:00
Mike McQuaidandGitHub ed9942fbd1 Merge pull request #2769 from MikeMcQuaid/rubocop-no-perl-backrefs
rubocop: don’t allow Perl regex backrefs.
2017-06-12 16:47:28 +01:00
Mike McQuaid 021cef4b2b Autocorrect Rubocop Style/SpecialGlobalVars. 2017-06-12 09:11:42 +01:00
Mike McQuaid 7a0aff1080 Autocorrect Rubocop Style/PerlBackrefs. 2017-06-10 20:23:20 +03:00
Mike McQuaid 486d3d84b1 edit: tweak default editors.
Add `atom` (not my editor of choice [TextMate for life!]) but widely
used enough to probably warrant it. Also, reorder based on my best
guestimates of current usage and cleanup the editor code while we're
here.
2017-06-07 16:07:53 +01:00
Markus Reiter 2d6ae61314 Re-revert "Fix operator spacing." 2017-06-02 19:22:05 +02:00
adrianandadrian de78999def don't try to find the full path of the editor in 'brew edit'
fixes #2709
2017-06-01 17:45:07 -07:00
ilovezfsandGitHub 197392b56d Revert "Fix operator spacing." 2017-06-01 04:06:40 -07:00
Markus Reiter d34ba7395b Fix operator spacing. 2017-05-31 19:53:41 +02:00
Markus ReiterandGitHub f0dc1d96c5 Merge pull request #2537 from reitermarkus/pathname-to_str
Remove `to_s` from some `Pathname`s.
2017-05-18 09:39:07 +02:00
Mike McQuaid 8205e61e64 More environment filtering tweaks
- only document HOMEBREW_* variables in the manpage (although still
  read from all the original environment variables).
- resort manpage environment variables in alphabetical order
- check the original path for trailing slashes
2017-05-13 11:42:01 +01:00
Markus Reiter 5828eefd01 Remove to_s from some Pathnames. 2017-05-08 13:37:28 +02:00
Mike McQuaid 57db2e539e Revert "Merge pull request #2597 from MikeMcQuaid/vendor-gems"
This reverts commit 3e4547f52e, reversing
changes made to 6edf9382bc.
2017-05-07 17:28:39 +01:00
Mike McQuaid e1bbab6ca6 Revert "Merge pull request #2603 from MikeMcQuaid/tweak-gem-vendoring"
This reverts commit 2372872974, reversing
changes made to 3e4547f52e.
2017-05-07 17:28:37 +01:00
Mike McQuaid 33f83be10e Tweak Gem vendoring.
If people have `HOMEBREW_RUBY_PATH` set then things explode in a rather
confusing fashion. Instead, run `bundle` for them with the arguments
that they'd want.

Also, move `macho` requires into the module itself; it's a pain having
to do everything for Bundler before requiring `pathname` which is a core
Ruby class.
2017-05-07 15:33:54 +01:00
Mike McQuaid ee253e465b Vendor all Homebrew's gems.
Homebrew's actually ended up using a fair few gems. While we want to
avoid Bundler at runtime (and this PR still does that, in fact uses
Bundler even less at runtime than it did before) writing our own version
to use at build-time seems redundant.
2017-05-07 13:52:57 +01:00
Markus Reiter 24b190cc14 Remove existing from PATH when adding Gem.bindir. 2017-05-03 10:18:07 +02:00
Mike McQuaid 5b19563937 utils: create GEM_HOME when installing Gems.
It may not exist before Gem installation which means that the resulting
installed gem will not be found in the PATH.
2017-05-03 08:26:30 +01:00
Markus Reiter 4d5d6a65e3 Rename PATH#validate to PATH#existing. 2017-04-30 21:11:28 +02:00
Markus Reiter 22f624b373 Make PATH enumerable. 2017-04-30 21:11:28 +02:00
Markus Reiter f8ad9d7efd Use PATH where possible. 2017-04-30 21:11:27 +02:00
Markus Reiter 314483f75c Remove Array#to_path_s. 2017-04-30 21:11:27 +02:00
Markus Reiter e221d0481a Use to_path_s in install_gem_setup_path!. 2017-04-30 21:11:27 +02:00
Mike McQuaid 6b0afa3e9c Remove puts_hash, require pp
I wasn’t aware this existed when I created puts_hash so: may as well
remove it.
2017-04-24 11:45:32 +01:00
Mike McQuaid 3e40059f8d utils: make which_editor handle editor args.
Handle cases like e.g. `EDITOR="subl -w"`.
2017-04-24 08:49:11 +01:00
Mike McQuaid d5155256ce Fix audit version_scheme and revision checks.
Another attempt at fixing `brew audit` issues around detecting
`revision` and `version_scheme` changes correctly. First done in #1754
and #2086 (reverted in #2099 and #2100).

To ease future debugging a `ph` helper has been added to print a hash
and a series of RSpec tests to verify that the `revision`,
`version_scheme` and `version` formula version audits behave as
expected.

Fixes #1731.
2017-04-23 18:56:22 +01:00
Mike McQuaidandGitHub 11acadaa50 Merge pull request #2524 from MikeMcQuaid/more-env-filtering-fixes
Hide sensitive tokens from install/test/post.
2017-04-23 09:45:47 +01:00
Mike McQuaid 688034d22a utils: fix which_editor.
Handle when there's no editor variable specified or it's specified but
empty.
2017-04-22 17:29:59 +01:00
Mike McQuaid d02b4f321d Hide sensitive tokens from install/test/post.
Hide these tokens to avoid malicious subprocesses e.g. sending them
over the network. Also, support using these tokens with environment
filtering and clear `HOMEBREW_PATH` from subprocesses to stop them
sniffing it. Finally, use `HOMEBREW_PATH` to detect Homebrew’s user’s
PATH for e.g. `brew doctor` etc.
2017-04-22 16:31:19 +01:00
Mike McQuaid 69c7a20896 Fix brew edit with environment filtering.
For many people `brew edit` makes use of the `EDITOR` variable to pick a
sensible editor. With environment filtering enabled unless this editor
is found in the default system PATH it'll fall back to e.g. `vim`.

Instead, ensure that we export the original, pre-filtering `PATH` as
`HOMEBREW_PATH` and use that internally to locate the editor. In future
this same approach will likely be used for requirements to be able to
find tools, too, and for other variables which we want to expose to
Homebrew itself but not other build tools.

Note that `HOMEBREW_PATH` is the same as `PATH` when build filtering
hasn't been enabled.
2017-04-21 18:26:12 +01:00
Markus Reiter 44d367edca Deprecate #plural. 2017-03-11 21:16:37 +01:00
Markus Reiter c594ffefbc Add Formatter::pluralize. 2017-03-11 21:12:51 +01:00
Markus Reiter ef5f58a14b Use Gem.bindir instead of #{Gem.dir}/bin. 2017-03-04 19:30:34 +01:00
Mike McQuaidandGitHub 0a8c8f90b6 Merge pull request #1708 from joshka/feature/install-tap-cmd-completions
install tap cmd completions
2017-02-27 08:42:17 +00:00
Joshua McKinney 25396d9c4d Install tap command completions and manpages
Taps can include completion scripts for external commands under
`completions/bash`, `completions/fish`, or `completions/zsh`. `brew tap`
will automatically install these into the correct directories during
install.
2017-02-26 15:40:52 -06:00
Jeppe Toustrup ebaf3cdc6a Add 'B' for bytes to cleanup command output
When `brew cleanup` is run it prints out a message like the following:

> This operation has freed approximately 222M of disk space.

The '222M' refers to megabytes but the normal acronym for megabytes would be
'MB'. The 'B' is also missing from kilobytes and gigabytes in the output, so
that's what this commit adds.
2017-02-25 11:30:46 +00:00
David Broder-Rodgers ed9f775b77 Added support for returning HTTP status codes and for git and svn URLs 2017-02-20 19:24:19 +00:00
Alyssa Ross 13488183bd emoji: remove hack required for Ruby 1.8.7
Since this hack is no longer required, and `Emoji.tick` and `.cross` are
only called in one place, I think it's better to just inline them there
rather than having methods on `Emoji` that just return a one-character
String.
2017-01-23 17:56:33 +00:00
Markus Reiter 0f8cb4ba27 Add option to disable methods on specific date. 2016-12-30 14:01:43 +01:00
Mike McQuaid 384174e542 which_all: don't assume path is a string.
Fixes #1635.
2016-12-10 13:19:01 +00:00
William Woodruff 54d18cee17 compat: deprecate Utils::JSON in favor of corelib JSON. 2016-11-20 15:02:47 -05:00