160 Commits

Author SHA1 Message Date
Alyssa Ross
3555206a7f formula: make cache clearing methods, *ahem*, clearer 2016-11-17 14:36:49 +00:00
Alyssa Ross
8bfc205a87 tab: clear Formula.installed cache when created.
This was causing the flaky tests that #1508 started skipping.

This is the second time that `Formula.installed`'s cache has bitten
me with intermittent test failures, and I'd like it to be the last,
so I've made it so the cache is cleared automatically when a tab is
created. This _should_ mean that the cache is cleared any time it
needs to be, with the exception of when a Keg is created artificially
with no tab. I don't think there's anything I can do to automatically
handle that use-case, though.
2016-11-17 14:26:00 +00:00
Josh Hagins
9c519bbdbc keg_relocate: refactor relocate_text_files
Replace relocate_text_files with three methods that clarify intent:
replace_locations_with_placeholders, replace_placeholders_with_locations
and replace_text_in_files, the first two calling the third.
2016-10-24 16:21:08 -04:00
Josh Hagins
c46155aba4 keg_relocate: cache files rewritten during brew bottle
`brew bottle` replaces instances of the Homebrew prefix, cellar, and
repository with placeholders in all text files. Cache these files in
INSTALL_RECEIPT.json so that we don't have to check every single text
file for placeholders on install.
2016-10-24 16:21:08 -04:00
Alyssa Ross
cd615acd5f tab: don't interpret unknown deps as no deps 2016-10-11 09:00:39 +01:00
Markus Reiter
fe2d51e0b9 Fix Style/IfUnlessModifier. 2016-09-23 15:30:07 +02:00
Alyssa Ross
41e25209f7 Save runtime dependencies in INSTALL_RECEIPT.json
Fixes #930
2016-09-19 20:53:39 +01:00
Mike McQuaid
6693915399 rubocop --auto-correct all remaining files.
But remove some manual `.freeze`s on constants that shouldn't be
constants.
2016-09-17 16:14:13 +01:00
Mike McQuaid
1d66cdd3ad Merge pull request #863 from penman/preserve_alias
Save aliases in INSTALL_RECEIPT
2016-09-09 07:47:05 +01:00
Alyssa Ross
8c3a11bca8 Explain more Tab instantiation methods 2016-09-07 23:17:25 +01:00
Alyssa Ross
d62029f899 Explain Tab.create vs Tab.for_formula
This was really confusing to me, and I had to go looking through the Tab
history, where I found a comment explaining it that has since been
deleted. This wasn't a great experience.

This commit basically adds that explanation back in.
2016-09-07 23:04:49 +01:00
Alyssa Ross
f9e16ee2e0 Combine Tab alias_path with source.path 2016-09-07 22:48:52 +01:00
Alyssa Ross
ba10ce70bd More consistent style 2016-09-05 22:01:05 +01:00
Alyssa Ross
b90eba8ffd Update Tap for alias_path 2016-09-05 14:26:17 +01:00
Alyssa Ross
65ee5408c3 Replace install_name/install_ref with alias_path 2016-09-05 01:19:08 +01:00
Alyssa Ross
0ef3e1e0dc Preserve alias when installing formulae
Part of #567
2016-09-03 21:16:43 +01:00
Vlad Shablinsky
f085597cbd Use epochs in tabs 2016-08-18 10:38:10 +02:00
Uladzislau Shablinski
b40b072ed8 tab: fix Tab.for_formula versions (#687)
versions should be initialized even if formula is not installed
2016-08-13 21:26:21 +08:00
Vlad Shablinsky
42bc623a27
tab: allow to store versions 2016-08-06 21:25:56 +08:00
Mike McQuaid
164e46a729 Add missing development_tools requires. 2016-07-29 21:21:02 -06:00
Mike McQuaid
c90552f66b tab: use the correct default compiler. 2016-07-29 21:21:02 -06:00
Xu Cheng
f49233c89b
Tab#for_formula: using Formula#installed_prefix
Closes #529.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-07-17 02:23:37 +08:00
Xu Cheng
30bbb93f21
tab: add missing methods
This makes `Tab` compatible with `BuildOptions`.
2016-07-15 19:57:23 +08:00
Martin Afanasjew
bf40dd64df tab: eliminate redundant 'Tab.create' arguments (#468)
The `build` and `source_modified_time` arguments are always coming from
the matching attributes of the `Formula` instance. Thus query `formula`
for them instead of passing them individually.
2016-07-08 01:14:34 +02:00
Martin Afanasjew
77dd9d56ff Use GitRepositoryExtension for HOMEBREW_REPOSITORY 2016-07-07 01:46:58 +02:00
Martin Afanasjew
86fa42b36c tab: fix bad default_compiler reference
Partially addresses #219. Related to changes introduced in #168.
2016-05-08 20:12:51 +02:00
Zhiming Wang
1fa48234e5 tab: include installation date in string representation
This way brew info will include the installation date for each installed
version.

Closes #196.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-05-05 23:53:36 +02:00
Xu Cheng
a5cfc011e0 various: Homebrew/core is the core tap
Also make `Homebrew/homebrew` as an alias of this tap to keep
backward compatibility.
2016-04-02 21:51:36 +08:00
Xu Cheng
fab16b83e9 tab: add source modified time metadata 2016-01-15 16:26:04 +08:00
Mike McQuaid
e5ba31fcdc Allow multiple option_names in dep/reqs.
This means that dependencies can be merged but still maintain all
their option names.

Closes Homebrew/homebrew#46916.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-12-15 08:37:16 +00:00
Xu Cheng
72f4323ea5 Tab#tap: returns tap object 2015-12-09 16:56:59 +08:00
Xu Cheng
f442510787 tab: use installed_prefixes 2015-11-29 20:24:30 +08:00
Mike McQuaid
10c79620c1 tab: use cache to avoid rereading the same files.
Closes Homebrew/homebrew#46400.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-11-27 16:52:54 +00: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
Xu Cheng
b7732e80b4 tab: check mxcl/master synonym unconditionally 2015-08-02 16:34:45 +08:00
Xu Cheng
8f0249e9a1 handle mxcl/master synonym inside Tab#from_file_content 2015-08-02 16:12:14 +08:00
Xu Cheng
aa28226423 tab: set stable as default spec
Fixes Homebrew/homebrew#42297.
2015-07-31 20:08:44 +08:00
Xu Cheng
808729e7ff Tab: store spec of formula 2015-07-31 19:44:00 +08:00
Jack Nagel
7690a00d04 Stdlib check should use the compiler used to build the bottle 2015-06-27 20:04:45 -04:00
Dominyk Tiller
a289d7d2ca tab: tweak options info output
Closes Homebrew/homebrew#41101.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
2015-06-27 05:03:45 +01:00
Xu Cheng
ffd92a87c5 tab: allow load from file content 2015-06-02 16:45:43 +08:00
Mike McQuaid
f55257306e tab: add method to set tap. 2015-05-27 10:21:45 +01:00
Jack Nagel
abb0cb3aa0 Switch to a more useful serialization of tap info
Closes Homebrew/homebrew#37383.
2015-03-14 21:14:37 -04:00
Tim D. Smith
4057a68e6e add bottle? method to Tab
Closes Homebrew/homebrew#37621.
2015-03-11 21:08:54 -07:00
Jack Nagel
eadf7de61b Decouple the install receipt from ARGV 2015-03-07 23:53:33 -05:00
Jack Nagel
35860ac60f Switch to string keys
The OpenStruct initializer accepts both symbols and strings, but any
nested hashes will only allow access via string keys, so let's always
construct the object with strings for consistency.
2015-02-21 18:44:04 -05:00
Jack Nagel
a6b16dfa18 Eliminate conditional 2015-02-21 12:26:14 -05:00
Jack Nagel
22cf99094f Set the path on "fake" install receipts 2015-02-21 12:26:14 -05:00
Jack Nagel
ac3c5592d8 Compiler is always a string 2015-02-20 21:50:22 -05:00
Jack Nagel
e92a87179a Use ternary instead of inline rescue 2015-02-18 21:36:48 -05:00