415 Commits

Author SHA1 Message Date
Max Howell
768910283a Refactor the brew command into one file per command
The code was sucking. To the extent that maintenance was hard. It's a lot
easier to work with code that is sensibly split at sensible boundaries. So
now it is more like that.

But the refactor is minimal. Because we don't want you to have more merge
hell than absolutely necessary.

If you merge you will need to pay attention to brew.h.rb (as it is deleted)
and bin/brew (as command logic is gone). It will be painful, but you will just
have to help git out by moving any changes around manually.

Note compatibility.rb. It ensures that any function renames or removals don't
break anything. We're pretty serious about backwards compatibility. And that's
because we encourage you to hack around with the innards. And we couldn't do
that if we would then just make stuff disappear behind your back.
2011-03-12 11:55:02 -08:00
Jamie Macey
b7fa82b28d fix warnings: ambiguous splat
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-10-30 14:50:54 -07:00
Jamie Macey
6ff5e194c7 fix warnings: splat is redundant for puts
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-10-30 14:50:18 -07:00
Michael Dippery
c3c27be583 brew log should show complete Git log if no formulae are specified
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-10-30 07:57:42 -07:00
Adam Vandenberg
b602128a83 All vcs strategies support cached_download 2010-10-25 07:34:53 -07:00
Adam Vandenberg
266b3265aa Add remove --force 2010-10-17 17:52:10 -07:00
Adam Vandenberg
cdf35d1d8d remove - show message when multiple versions exist 2010-10-17 17:40:54 -07:00
Kevin Ballard
3a4fa6aa57 Consider outdated kegs in brew uses --installed
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-10-07 10:17:23 -07:00
Adam Vandenberg
337456ca90 Tweak display of missing sha 2010-10-06 08:02:17 -07:00
Adam Vandenberg
b9dc3c6527 add Xcode version to brew --config 2010-10-01 21:08:42 -07:00
Tianyi Cui
05d7c0cae0 brew-log accept git log options & multiple brews 2010-10-01 20:29:33 -07:00
Adam Vandenberg
0305ee47a7 Fix brew edit foo 2010-09-30 06:47:19 -07:00
Adam Vandenberg
7adf1c80bd Use %w quoting in ENV list 2010-09-29 22:01:17 -07:00
Adam Vandenberg
f50f2f8d52 Tweak unknown command message 2010-09-29 22:01:08 -07:00
Adam Vandenberg
76dcc1929b refactor compiler messages 2010-09-29 21:52:55 -07:00
Adam Vandenberg
2bb9fa1b22 Bump Xcode recommendation to 3.2.3 2010-09-07 13:23:43 -07:00
Adam Vandenberg
fc7a0be039 Add ruby target to --config 2010-09-06 09:30:34 -07:00
Adam Vandenberg
4f56674c72 Remove HOMEBREW_CACHE from "brew --config"
HOMEBREW_CACHE isn't really helpful in diagnosing problems, and some
people don't like their username / home folder going into bug reports
on the web, so let's take it out.
2010-08-23 20:57:49 -07:00
Adam Vandenberg
29ac164565 Tweak 'report error' message. 2010-08-15 15:20:24 -07:00
Adam Vandenberg
741acf916e Add 'brew deps --all' 2010-08-13 09:45:27 -07:00
Adam Vandenberg
77c70ec472 Add "brew uses --installed"
Passing --installed will limit the list to formulae that you have installed.
Documented this and "brew deps --1" which limits the dependency list to
one level down (direct dependencies).
2010-08-11 20:54:29 -07:00
Adam Vandenberg
64cf554a7b Fix uses/deps for Leopard 2010-08-11 20:43:31 -07:00
Adam Vandenberg
2a80303960 Add shortcut 'brew dr'. 2010-08-09 21:03:02 -07:00
Adam Vandenberg
e2f0e1a26f Resolve aliases in 'brew edit'. 2010-08-07 22:15:29 -07:00
Adam Vandenberg
7c4adde96a 0.7 Remove deprecated make command 2010-08-07 18:08:54 -07:00
Adam Vandenberg
f990f083e8 ARGV - rename method that conflicts with optparse
optparse adds an "options" method to ARGV, and so does Homebrew.
Rename this method (and remove optparse blocking script) so that
Homebrew plays nicer with external Ruby software.

This fixes the issue where "gem install thin" would break
"brew server", for instance.
2010-08-07 18:08:51 -07:00
Adam Vandenberg
1c3f0e43de add URLs to brew info 2010-08-07 18:08:49 -07:00
Adam Vandenberg
c5a1171620 Fix brew info 2010-08-07 18:08:49 -07:00
Max Howell
3b106ea205 Significantly simpler brew uses and brew deps
Partly simpler because the output is less pretty. But I think the output is
now more useful for other tools. And comma separated lists aren't particularly
human-readable IMO either.
2010-08-07 18:08:49 -07:00
Adam Vandenberg
7768e59a50 Show changed examples on update [telemachus]
* Also move updater output into the class itself
2010-08-07 18:08:48 -07:00
Martin Kühl
da7854401d Automatically enable external brew commands.
* Add path to external command examples to PATH.
* Only add them to PATH from inside Homebrew.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>

* Move external commands path down near check
2010-08-07 18:08:48 -07:00
Adam Vandenberg
2e881238de Add name to brew info url and remove external script 2010-07-29 08:40:22 -07:00
Adam Vandenberg
5d3a226149 Fix brew info --all 2010-07-25 11:26:00 -07:00
Adam Vandenberg
b2d034b661 brew deps --1 does not recurse 2010-07-21 09:09:15 -07:00
Max Howell
bc5ee7c482 brew.h info takes a formula parameter rather than a string
* Preference is for commands to take instantiated formulae as parameters
  rather than formula names, so alias resolution can be centralized.
2010-07-18 13:52:01 -07:00
Kyle Fuller
161296e5c6 When outputting a brew install -vd insert the formula name
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2010-07-14 07:19:03 -07:00
Adam Vandenberg
ee794cd21a Add command "brew --env"
"brew --env" will set up a build environment and then dump certain ENV
variables (CC, CXX, LD, CFLAGS, CXXFLAGS, MAKEFLAGS).

If any of CC, CXX, LD are symlinks, now also output the target compiler.
(Typically these will be symlinks from eg /usr/bin/cc to /usr/bin/gcc-4.2).

This is a diagnostic command which may be merged into --config, turned
into an external command, or removed if it doesn't turn out to be useful.
2010-07-13 14:20:52 -07:00
Adam Vandenberg
0cc253964b Remove un-needed 'unless' in brew update 2010-07-08 22:41:51 -07:00
Adam Vandenberg
40c8af111f Move data into updater class 2010-07-03 23:22:51 -07:00
Adam Vandenberg
ecb5ce103e Remove $PATH from --config and build dumps.
While it is useful to be able to see the user's path in bug reports, it is
perhaps slightly too intrusive to post this without the user's permission.

A path can have usernames or other project sensitive information, and several
Homebrew users were editing their bug reports to omit this information.

`brew doctor` will still report on the path issues that we typically care
about, so dropping automatic posting of PATH.
2010-07-02 09:34:40 -07:00
Adam Vandenberg
cdb5b2e0d5 Extract "brew_install".
This was supposed to go in with the "brew-upgrade" external command,
but must have been lost in the merge.
2010-06-23 12:59:02 -07:00
Adam Vandenberg
a1fcbdcefb Add fink/macports support to 'brew search'. 2010-06-22 16:04:27 -07:00
Adam Vandenberg
d84b8cf288 Extract search_brews method 2010-06-17 11:42:24 -07:00
Adam Vandenberg
69b9901131 Move code to find outdated brew list 2010-06-16 09:52:20 -07:00
Adam Vandenberg
07914a48ee Reduce nesting in 'brew up'. 2010-06-15 21:48:33 -07:00
Trevor Stevens
b9bb078642 Modify brew update to show if any formulae were removed. 2010-06-15 21:45:56 -07:00
Adam Vandenberg
1761ba66bf Failures during ./configure should mention config.log. 2010-06-10 12:57:51 -07:00
Adam Vandenberg
b016c2eae5 Support external commands
Homebrew will now look for external commands that are +x on PATH, named
as "brew-<cmd>" or "brew-<cmd>.rb"

* Shell scripts are exec'd with some HOMEBREW variables set in the ENV.
* Ruby scripts are require'd directly.

See: http://wiki.github.com/mxcl/homebrew/external-commands
2010-06-07 21:43:08 -07:00
Adam Vandenberg
385e3637f2 Remove silly concatenation. 2010-06-07 14:15:45 -07:00
Adam Vandenberg
115940dbeb Tweak the bin/brew command selector a bit.
* Move 'brew doctor' above both unknown command blocks and then...
* Merge unknown command blocks.

(This is cleanup for supporting external brew commands.)
2010-06-07 14:15:45 -07:00