8 Commits

Author SHA1 Message Date
Mike McQuaid
05568420c0 linkage_checker: fix cache invalidation.
Rather than using the name of the keg for the key use the full path.
This provides several advantages:

- there's no need to invalidate the cache on a `brew upgrade` or
  `brew switch`
- it's easier to figure out what cache entries can be removed and this
  can be done whenever a keg is removed by `brew uninstall` or
  `brew cleanup`.

Also, ensure that an `install` (or `reinstall`, `upgrade`) always
results in the cache being rebuilt for that keg (in case different
options were used).
2018-06-06 13:30:45 +01:00
Mike McQuaid
1a2c2f2e1b linkage_cache: cache input data and not results.
Cache all the non-weak dynamic library links for a keg rather than the
result of running `brew linkage`. This means that we correctly handle
changes to e.g. what non-keg files are present on disk.
2018-06-01 14:05:16 +01:00
Andrew R. McBurney
ddb7f06e9f Fixed rubocop offenses from brew style. 2018-05-22 12:54:54 -04:00
Mike McQuaid
44f5d3ec79 Refactor cache store code. 2018-05-22 14:46:14 +01:00
Andrew R. McBurney
e93e8f3266 Lazily load db of type DBM instance variable for DatabaseCache so the corresponding database file isn't created in the .use block for a DatabaseCache. 2018-05-18 16:37:01 -04:00
AndrewMcBurney
d5795d816a Added broken_deps to LinkageStore. 2018-04-09 14:01:42 -04:00
AndrewMcBurney
2c7ae2544b Updated documentation for cache_store. 2018-03-06 13:39:34 -05:00
AndrewMcBurney
8bd38d08cb Move linkage_cache_store.rb to ~/Library/Homebrew. 2018-03-06 12:07:57 -05:00