139 Commits

Author SHA1 Message Date
Martin Afanasjew
4ea2f9dc91 Fix more bad dump_verbose_config references
Follow-up to c7edf9a063dce63afb9ab54b6d71fe864d578365 and related to
changes from #168.
2016-05-08 21:43:57 +02:00
Misty De Meo
9ead6bc2f8 Update CompilerSelectionError
Fixes mistydemeo/tigerbrew#207.
Fixes mistydemeo/tigerbrew#330.
2016-04-22 22:37:21 -07:00
Martin Afanasjew
d9363a1559 exceptions: add reason to 'UsageError' exception
Use the `reason` attribute to be able to handle `UsageError` subclasses
more uniformly and simplify logic in `brew.rb` to handle them together.
2016-04-20 13:46:10 +02:00
Martin Afanasjew
1ded40a744 exceptions: add FormulaClassUnavailableError 2016-04-17 21:16:01 +02:00
ilovezfs
fad235d8e8 tap: support --full even if installed
Makes `tap` re-runnable and unshallows when requested with `--full`.
Tapping with a different URL raises an exception.

The homebrew/core tap cannot be untapped with `untap` so running
`brew tap --full homebrew/core` is now a built-in way to get a full
clone of this tap without resorting to workarounds.

Closes #17.

Signed-off-by: ilovezfs <ilovezfs@icloud.com>
2016-04-05 07:25:27 -07:00
Xu Cheng
bc19a47eb9 GitHub: fix issues/pr searching
Closes #6.
2016-04-04 02:00:21 +08:00
Xu Cheng
00ae49f4ac BuildError: update for core/formula separation 2016-04-03 21:46:20 +08:00
ilovezfs
cc3d041c26 DSL method "apply" to specify patch files
The "apply" DSL method can be called from patch-do blocks to specify
the paths within an archive of the desired patch files, which will be
applied in the order in which they were supplied to the "apply" calls.
If "apply" isn't used, raise an error whenever the extracted directory
doesn't contain exactly one file.

The "apply" method can be called zero or more times within a patch-do
block with the following syntaxes supported:

    apply "single_apply"
    apply "multiple_apply_1", "multiple_apply_2"
    apply [array_of_apply]

If apply must be used, a single call using the second syntax above is
usually best practice. Each apply leaf should be the relative path to a
specific patch file in the extracted directory.

For example, if extracting this-v123-patches.tar.gz gives you

    this-123
    this-123/.DS_Store
    this-123/LICENSE.txt
    this-123/patches
    this-123/patches/A.diff
    this-123/patches/B.diff
    this-123/patches/C.diff
    this-123/README.txt

and you want to apply only B.diff and C.diff, then you need to use
"patches/B.diff" and "patches/C.diff" for the lowest-level apply leaves.

The code was provided by Xu Cheng. Any mistakes are mine.
2016-02-01 18:37:36 +00:00
Baptiste Fontaine
88535b09b7 exceptions: hotfix 2016-01-05 16:08:25 +01:00
Baptiste Fontaine
9f1442db14 doctor: move code away from cmd/
Closes Homebrew/homebrew#47665.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-01-05 14:33:06 +01:00
Baptiste Fontaine
c15c9dbaf3 Tap#issues_url added
Closes Homebrew/homebrew#47454.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-12-30 00:44:46 +01:00
Xu Cheng
9a384f5134 exceptions: tap is a Tap object now 2015-12-09 16:56:59 +08:00
Xu Cheng
48950f2cc0 centralize the logic of handling homebrew- in Tap.fetch
Closes Homebrew/homebrew#46537.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-12-03 13:46:59 +08:00
Baptiste Fontaine
24a1eeceb3 Common build environment methods moved in build_environment.rb
Closes Homebrew/homebrew#45966.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-11-17 00:17:22 +01:00
Xu Cheng
889bb5fb03 exceptions: add TapAlreadyTappedError 2015-11-09 15:34:20 +08:00
Xu Cheng
d6bf2f5749 run Checks#check_for_unsupported_osx unconditionally 2015-10-23 19:42:22 +08:00
Martin Afanasjew
30cad0608f os: centralize check for pre-release OS X versions
Provide `OS::Mac.prerelease?` for pre-release checks and use it where
appropriate. This should simplify updating the test once a new OS X
release lands.

This also fixes a bug in `BuildError#dump`, where an empty warning
message was printed on El Capitan after a failed from-source build,
because the check there and the one in `check_for_unsupported_osx` were
out of sync.

Closes Homebrew/homebrew#45257.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-10-23 12:34:44 +01:00
Eric Andrew Lewis
5ec396ed38 install: make search output more intuitive.
Closes Homebrew/homebrew#42222.
Closes Homebrew/homebrew#44892.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-10-19 10:16:40 +01:00
Baptiste Fontaine
f3035333fb FormulaValidationError: include full_name
Closes Homebrew/homebrew#44946.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-10-14 16:21:42 +02:00
Mike McQuaid
cbb91c5516 exceptions: handle HOMEBREW_NO_GITHUB_API case.
Closes Homebrew/homebrew#43618.
2015-09-06 13:30:02 +01:00
William Woodruff
c459349b89 reformat nested heredocs in BuildFlagsError and BuildToolsError to match String#undent behavior
Closes Homebrew/homebrew#43303.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-08-28 18:02:05 +08:00
Xu Cheng
a88c40b8c8 core file style update 2015-08-22 13:15:33 +08:00
Misty De Meo
3d1f9e0a9c exceptions: change 10.9 Xcode URL 2015-08-21 11:46:39 -07:00
Dominyk Tiller
ff8520e61b exceptions: use xcode frontpage 2015-08-21 19:28:05 +01:00
Misty De Meo
727239e12f Merge bottle install without Xcode branch
Merge branch 'bottle_hooks'
2015-08-21 11:04:22 -07:00
William Woodruff
91e598cf3f Install: add BuildToolsError and BuildFlagsError
Add these new errors, and guards in formula installation and
cmd/{,un,re}install to match, move can_build? to the MacOS module,
flatten conditions, remove redundant can_build? check

reinstate removed (doctor) check
2015-08-21 10:59:09 -07:00
Vlad Shablinsky
ab1164f4de exceptions: add TapFormulaWithOldnameAmbiguityError
- TapFormulaWithOldnameAmbiguityError is an exception raised when
multiple tap formulae available for given old name
2015-08-10 13:57:59 +01:00
CNA-Bld
1a82b2133e implement pinning of taps 2015-08-10 12:17:25 +01:00
BrewTestBot
13d544e11e Core files style updates.
Closes Homebrew/homebrew#42354.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03 13:22:35 +01:00
Edgar Gonzalez
fbb8efbd66 Fix typo in UnsatisfiedRequirements exception message
Closes Homebrew/homebrew#42125.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-07-26 09:19:22 +02:00
Xu Cheng
b1fff32055 BottleLoader: check version mismatch
Closes Homebrew/homebrew#42049.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-07-24 15:59:28 +08:00
polamjag
1b78fe240e exceptions: don't bracket url
Closes Homebrew/homebrew#41592.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2015-07-22 05:07:35 +01:00
Xu Cheng
842c0227bc TapFormulaUnavailableError: add back user and repo method
Fixes Homebrew/homebrew#41888.
2015-07-19 16:42:40 +08:00
Xu Cheng
140f8e3df7 improve TapLoader and TapFormulaUnavailableError
* Restore the ability to load formula by `user/homebrew-repo/foo`.
* Only suggest to install tap when tap isn't installed.

Closes Homebrew/homebrew#41705.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-07-19 12:10:33 +08:00
Jack Nagel
72cb403a56 Move 10.11 warning to doctor, pre-install, and post-failure
Fixes Homebrew/homebrew#40778.
2015-06-16 20:02:10 -04:00
Xu Cheng
b88cb13718 add TapUnavailableError 2015-06-14 21:28:36 +08:00
Xu Cheng
3ac2b7b1c6 exceptions: use Formula#full_name 2015-05-29 17:02:23 +08:00
Xu Cheng
811c4c5add load tap formula through direct search 2015-05-27 13:53:40 +08:00
Jack Nagel
16dfe3dd40 Add Formula#logs 2015-04-25 23:14:05 -04:00
Jack Nagel
162716f3fb Always output formula information on build errors 2015-03-03 21:11:00 -05:00
Mike McQuaid
b9790ffe3a exceptions: instruct not to file boneyard issues. 2015-02-26 19:17:12 +00:00
Jack Nagel
77c0f60434 Always dump full configuration 2014-12-30 23:33:50 -05:00
Jack Nagel
8b51cf019d Move exception text into exception object 2014-12-29 22:57:45 -05:00
Jack Nagel
912a586d15 Preserve backtrace for download errors 2014-12-29 22:51:55 -05:00
Jack Nagel
1b1a73bddb Always show attribute value in validation error message 2014-12-23 15:37:24 -05:00
Jack Nagel
9a356fc609 Remove FormulaAlreadyInstalledError
install is the only command that can trigger this warning, so it should
be handled before instantiating the installer.
2014-10-31 18:33:39 -05:00
Jack Nagel
56dd575f96 Pass command and arg list into ErrorDuringExecution constructor 2014-09-18 20:32:50 -05:00
Jack Nagel
f3b7c3236b Consistently call name on formula instead of relying on to_s 2014-09-14 11:19:30 -05:00
Jack Nagel
081036c81c Remove InstallationError superclass
None of these subclasses share any behavior other than what is inherited
from RuntimeError, so we can just get rid of the superclass.
2014-09-14 01:10:20 -05:00
Jack Nagel
2332e6525d Remove unused attribute from BuildError 2014-09-13 19:49:27 -05:00