aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/tab.rb
AgeCommit message (Collapse)Author
2017-07-21tab: include aliases.Mike McQuaid
Including aliases in the tab allows e.g. `brew switch` to correctly handle switching between different keg’s aliases.
2017-06-02Re-revert "Fix operator spacing."Markus Reiter
2017-04-02Handle missing receipt on `brew install`.Mike McQuaid
For example if this is for a really old keg, keg where a user has manually removed stuff or used `brew diy`.
2017-01-18tab: store installed_{as_dependency,on_request}.Mike McQuaid
These are used to determine whether or not a formula’s install was specifically requested by a user and/or pulled in as a dependency.
2017-01-04tab: set homebrew_version in Tab.emptyAlyssa Ross
2016-12-30tab: remove #reliable_runtime_dependencies?Alyssa Ross
See https://github.com/Homebrew/brew/pull/1750#discussion_r94243825 for discussion. Removes Tab#reliable_runtime_dependencies? in favour of returning nil from Tab#runtime_dependencies if the list is unreliable. Because Homebrew 1.1.6 hasn't been tagged yet, tabs created in tests aren't created with a homebrew_version that marks the runtime_dependencies in the Tab as reliable, so there are some tests that fail. To work around this, I've had to add a line to some tests that explicitly overrides the homebrew_version in the Tab. This is really ugly though, so they should be removed as soon as possible after 1.1.6 is released.
2016-12-30tab: remove #homebrew_tagAlyssa Ross
This method isn't used any more
2016-12-30tab: parse full Homebrew version stringAlyssa Ross
It didn't occur to me that this would work, but it does! Magic.
2016-12-30tab: implement #reliable_runtime_dependencies?Alyssa Ross
2016-12-20Deprecate 32-bit options.Mike McQuaid
These were formerly supported but as it has been a very long time since 32-bit software was necessary on macOS these have been deprecated with a `brew audit` warning and a future `odeprecated`.
2016-12-03tab: remove debuggingAlyssa Ross
2016-12-03tab: include HOMEBREW_VERSIONAlyssa Ross
2016-11-20Replace Utils::JSON with corelib JSON calls.William Woodruff
2016-11-17formula: make cache clearing methods, *ahem*, clearerAlyssa Ross
2016-11-17tab: clear Formula.installed cache when created.Alyssa Ross
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-10-24keg_relocate: refactor relocate_text_filesJosh Hagins
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-24keg_relocate: cache files rewritten during brew bottleJosh Hagins
`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-11tab: don't interpret unknown deps as no depsAlyssa Ross
2016-09-23Fix Style/IfUnlessModifier.Markus Reiter
2016-09-19Save runtime dependencies in INSTALL_RECEIPT.jsonAlyssa Ross
Fixes #930
2016-09-17rubocop --auto-correct all remaining files.Mike McQuaid
But remove some manual `.freeze`s on constants that shouldn't be constants.
2016-09-09Merge pull request #863 from penman/preserve_aliasMike McQuaid
Save aliases in INSTALL_RECEIPT
2016-09-07Explain more Tab instantiation methodsAlyssa Ross
2016-09-07Explain Tab.create vs Tab.for_formulaAlyssa Ross
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-07Combine Tab alias_path with source.pathAlyssa Ross
2016-09-05More consistent styleAlyssa Ross
2016-09-05Update Tap for alias_pathAlyssa Ross
2016-09-05Replace install_name/install_ref with alias_pathAlyssa Ross
2016-09-03Preserve alias when installing formulaeAlyssa Ross
Part of #567
2016-08-18Use epochs in tabsVlad Shablinsky
2016-08-13tab: fix Tab.for_formula versions (#687)Uladzislau Shablinski
versions should be initialized even if formula is not installed
2016-08-06tab: allow to store versionsVlad Shablinsky
2016-07-29Add missing development_tools requires.Mike McQuaid
2016-07-29tab: use the correct default compiler.Mike McQuaid
2016-07-17Tab#for_formula: using Formula#installed_prefixXu Cheng
Closes #529. Signed-off-by: Xu Cheng <xucheng@me.com>
2016-07-15tab: add missing methodsXu Cheng
This makes `Tab` compatible with `BuildOptions`.
2016-07-08tab: eliminate redundant 'Tab.create' arguments (#468)Martin Afanasjew
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-07Use GitRepositoryExtension for HOMEBREW_REPOSITORYMartin Afanasjew
2016-05-08tab: fix bad default_compiler referenceMartin Afanasjew
Partially addresses #219. Related to changes introduced in #168.
2016-05-05tab: include installation date in string representationZhiming Wang
This way brew info will include the installation date for each installed version. Closes #196. Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-04-02various: Homebrew/core is the core tapXu Cheng
Also make `Homebrew/homebrew` as an alias of this tap to keep backward compatibility.
2016-01-15tab: add source modified time metadataXu Cheng
2015-12-15Allow multiple option_names in dep/reqs.Mike McQuaid
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-09Tab#tap: returns tap objectXu Cheng
2015-11-29tab: use installed_prefixesXu Cheng
2015-11-27tab: use cache to avoid rereading the same files.Mike McQuaid
Closes Homebrew/homebrew#46400. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-03Core files style updates.BrewTestBot
Closes Homebrew/homebrew#42354. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-08-02tab: check mxcl/master synonym unconditionallyXu Cheng
2015-08-02handle mxcl/master synonym inside Tab#from_file_contentXu Cheng
2015-07-31tab: set stable as default specXu Cheng
Fixes Homebrew/homebrew#42297.