508 Commits

Author SHA1 Message Date
Jack Nagel
7d4709d9d6 Prevent repeated warnings when GitHub API rate limit is exceeded 2014-02-08 16:04:53 -05:00
Jack Nagel
ee893fdd88 Preserve original backtrace when raising GitHub::Error 2014-02-08 16:04:53 -05:00
Jack Nagel
2e3871c076 Raise only GitHub::Error from GitHub.open 2014-02-08 16:04:53 -05:00
Jack Nagel
4d6df3e3bc Parse JSON early in GitHub module 2014-02-08 16:04:53 -05:00
Mike McQuaid
a65f649cf5 utils: improve issue searching.
* issues_matching now returns an array
* prints issues titles and URLs
* find_pull_requests shows closed PRs if no matching PRs are open

Closes Homebrew/homebrew#26032.
2014-01-20 17:58:50 -08:00
Misty De Meo
a506053b98 Only search open pull requests, not closed
Refs Homebrew/homebrew#25962.
2014-01-16 13:04:15 -08:00
Jack Nagel
0d42601872 Escape issue search string
Fixes Homebrew/homebrew#25779.
2014-01-10 17:32:15 -06:00
Mike McQuaid
4c2e7b1659 Update docs, comment mxcl/homebrew refs. 2013-12-14 18:18:35 +00:00
Adam Vandenberg
856266432d fix repo URL for brew search
Closes Homebrew/homebrew#25192.
2013-12-13 18:31:11 -08:00
Adam Vandenberg
f2568ac637 typo 2013-11-28 11:21:54 -08:00
David MacMahon
a999ddc002 Add HOMEBREW_NO_GITHUB_API env var.
This patch allows users to "opt out" of using the GitHub API altogether
by setting the HOMEBREW_NO_GITHUB_API environment variable. The
value of the environment variable does not matter (it can even be
empty!).

For Bash/ZSH: export HOMEBREW_NO_GITHUB_API=1

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-10-25 21:12:28 +01:00
Jack Nagel
df824a22a7 Avoid comparing MacOS.version to floats 2013-10-22 20:47:37 -05:00
Jack Nagel
805472946b Rename MacOS to OS::Mac 2013-10-18 12:56:51 -05:00
Adam Vandenberg
a126946a9b move paths to utils 2013-09-17 06:44:25 -07:00
Dan Hughes
51d1a8e3c5 Use system path for more tools, for Linux compat.
Closes Homebrew/homebrew#22196.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-08-30 13:02:19 -07:00
Amos Wenger
52ace99f14 Use File::PATH_SEPARATOR globally instead of ':'
On Unix, the path separator is ':', whereas on Windows,
it is ';'. This is the first of a series of patch to bring
macbrew's and winbrew's codebases closer together.

The main places the magic constant ':' was being used were:
  - the $PATH environment variable
  - CMAKE-related environment variables
  - pkg-config related environment variables

Closes Homebrew/homebrew#21921.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-08-19 13:35:44 -05:00
Jack Nagel
23fbe23426 Allow specifying a custom PATH for which method
Closes Homebrew/homebrew#21794.
2013-08-10 19:01:50 -05:00
Jack Nagel
ba96851606 Always load net/https before referencing related constants
I put this require inside the method body, because eager-loading
net/https is slow compared to the rest of Homebrew, and utils.rb is
loaded for each `brew` invocation.

It's probably worth breaking up global.rb a bit, to reduce the amount of
code we are loading unnecessarily, but hopefully also to make inter-file
dependencies a bit more obvious.

Fixes Homebrew/homebrew#21617.
2013-08-02 18:25:17 -05:00
Jack Nagel
d912bc5ff3 GitHub API access may result in SSL errors
Closes Homebrew/homebrew#21216.
2013-07-15 10:57:55 -05:00
Jack Nagel
c8e79c3309 Move inreplace off of Object
Closes Homebrew/homebrew#21163.
2013-07-12 16:23:06 -05:00
Jack Nagel
81984411b0 Respect $VISUAL when picking an editor 2013-07-09 20:12:53 -05:00
Jack Nagel
e5ba52bf5c Give advice when GitHub API requests fail
Refs Homebrew/homebrew#21023.
2013-07-05 11:14:52 -05:00
Jack Nagel
59fdcfd4d0 Better behavior for failed connections in brew search
Fixes Homebrew/homebrew#20868.
2013-07-01 17:00:08 -05:00
Jack Nagel
cf5c97bbcb Don't use 'obj == nil' 2013-06-26 18:47:00 -05:00
Jack Nagel
368963aa26 Extract constant in GitHub module 2013-06-22 22:47:00 -05:00
Jack Nagel
5439813c27 Extract method in Github module 2013-06-22 22:46:49 -05:00
Jack Nagel
863e1a3cc5 Remove trailing whitespace 2013-06-22 22:46:39 -05:00
Jack Nagel
083b3c84d0 Add Utils::JSON to wrap the JSON implementation 2013-06-22 21:34:02 -05:00
Samuel John
c524895666 Python 2.x and 3.x support
New `depends_on :python` Dependency.
New `depends_on :python3` Dependency.

To avoid having multiple formulae with endings -py2 and -py3,
we will handle support for different pythons (2.x vs. 3.x)
in the same formula.
Further brewed vs. external python will be transparently supported.

The formula also gets a new object `python`, which is false if
no Python is available or the user has disabled it. Otherwise
it is defined and provides several support methods:

python.site_packages # the site-packages in the formula's Cellar
python.global_site_packages
python.binary # the full path to the python binary
python.prefix
python.version
python.version.major
python.version.minor
python.xy # => e.g. "python2.7"
python.incdir # includes of python
python.libdir # the python dylib library
python.pkg_config_path # used internally by brew
python.from_osx?
python.framework?
python.universal?
python.pypy?
python.standard_caveats # Text to set PYTHONPATH for python.from_osx?
python.if3then3 # => "" for 2.x and to "3" for 3.x.

Further, to avoid code duplication, `python` takes an optional
block that is run twice if the formula defines depends_on
:python AND :python3.

python do
  system python, 'setup.py', "--prefix=#{prefix}"
end

Read more in the Homebrew wiki.
2013-06-03 17:29:43 +02:00
Jack Nagel
b2ff6e934b Use implicit begin 2013-05-22 19:58:11 -05:00
Jack Nagel
b24f8e2c9e Hoist requires out of methods 2013-05-22 19:53:05 -05:00
Daniel Lee Harple
471502bc06 Remove unnecessary rescue-all exception handling
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-05-22 19:53:05 -05:00
Daniel Lee Harple
08388b149e Added support for a GitHub Personal API Access token
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-05-22 19:53:05 -05:00
Daniel Lee Harple
0fa5c47d7f Check GitHub API rate limit instead of silently failing
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-05-22 19:53:04 -05:00
Daniel Lee Harple
222f96d37b Pass a User-Agent when fetching data from the GitHub API
See <http://developer.github.com/v3/#user-agent-required>.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2013-05-22 19:53:01 -05:00
Jack Nagel
ba202df70b onoe and opoo print to stderr
This may result in some undesired output for things that suppress
stdout, but we'll fix those as we go.

Fixes Homebrew/homebrew#18650.
2013-03-31 15:20:12 -05:00
Jack Nagel
7af5a74c4e DRY ohai truncation 2013-03-31 15:18:38 -05:00
Jack Nagel
21f566b662 Turn double modifier into a single conditional 2013-03-21 17:20:57 -05:00
Jack Nagel
688ae72919 utils: remove obsolete comment 2013-03-21 17:12:56 -05:00
Mike McQuaid
9837bbda55 Add with_system_path to run using system PATHs.
Needed for Linux compatibility.
2013-03-11 18:26:25 +00:00
Jack Nagel
f037be5148 Don't shadow outer local variables 2013-02-18 12:13:36 -06:00
Samuel John
bc3c07d197 Give a fresh 🍺 after hard work of brew install
- Name of the brewed formula in "Summary" heading.
- At the beginning of the summary line a 🍺  is given out
  (but only on Lion or above). This acts as a nice
  visual marker for the end of a brew-ing process.
- When brewing a dependency, the name is highlighted in green.
- `oh1` is bold, too (like ohai).

Closes Homebrew/homebrew#16020.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2013-01-11 11:16:11 +00:00
Jack Nagel
9362a7c897 Respect BROWSER environment variable 2012-12-27 23:41:44 -06:00
Misty De Meo
d6299af86c utils: replace shell which with native code
Originally written for tigerbrew, but useful enough for core.
Replaces the shelled-out which in utils.rb with a native-ruby
equivalent, which is moderately faster.

Closes Homebrew/homebrew#16659.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
2012-12-27 19:37:21 -04:00
Max Howell
394549dd3d Only show the troubleshooting link
This has to be a last resort right? If all we show is that link (plus preceding un-deletable output) and they don't click it then maybe we should just close the ticket and hope they'll use MacPorts instead.
2012-10-31 11:28:29 -04:00
Jack Nagel
8d3ff5691d Fix conditional
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-27 16:21:39 -05:00
Max Howell
a217b03952 Clean up and improve build-error output and logs
All logs are now stored from each command executed in Formula.install.

Error output is truncated to five lines in an attempt to not overwhelm the user and to encourage users to read the error output and report the bug properly. Maybe we can get that figure up from 70% to 90%.
2012-09-25 11:31:56 -04:00
Max Howell
20ce16a3ff Much better CTRL-C handling
Let's not show weird error messages when user interrupts during various stages of brew initialization.

Tested by doing `for x in $(brew search); do brew install $x; done` and pressing CTRL-C at random short intervals.
2012-08-29 12:41:35 -04:00
Dean Smith
fe32e6343d Invoke non interactive shell from brew edit
Fixes Homebrew/homebrew#12779. Closes Homebrew/homebrew#12784.

utils.rb invokes bash as a non interactive shell to run the editor
when you run brew edit.

Non-interactive shells are not intended to capture user input and for running scripts. Whilst the invocation of the editor is a script the actual editor is intended for accept user input so this is an issue with brew and not emacs.

This causes issues with emacs which has different behaviors when not running under an interactive shell.

Signed-off-by: Max Howell <mxcl@me.com>
2012-07-30 13:23:19 -04:00
Charlie Sharpsteen
8a0c94d4e0 quiet_system: Dump to /dev/null instead of closing
Some programs fail where they would otherwise succeed if stdout or stderr is
closed. For example, using mpicc from the mpich2 formula:

    quiet_system 'mpicc', '--version'

Fails with:

    LLVM ERROR: IO failure on output stream.

While

    system 'mpicc', '--version'

Succeeds.

Closes Homebrew/homebrew#13253.

Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2012-07-09 09:21:33 -08:00