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