V - The rule key type.public class DefaultRuleKeyCache<V> extends Object implements TrackableRuleKeyCache<V>
RuleKey cache used by a RuleKeyFactory. Inputs and dependencies of cached rule
keys are tracked to allow for invalidations based on changed inputs. As such, this cache is
usable between multiple build runs.| Constructor and Description |
|---|
DefaultRuleKeyCache() |
| Modifier and Type | Method and Description |
|---|---|
V |
get(AddsToRuleKey appendable,
java.util.function.Function<? super AddsToRuleKey,RuleKeyResult<V>> create,
CacheStatsTracker statsTracker) |
V |
get(BuildEngineAction action,
CacheStatsTracker statsTracker) |
V |
get(BuildEngineAction action,
java.util.function.Function<? super BuildEngineAction,RuleKeyResult<V>> create,
CacheStatsTracker statsTracker) |
com.google.common.collect.ImmutableList<Map.Entry<BuildRule,V>> |
getCachedBuildRules() |
void |
invalidateAll(CacheStatsTracker statsTracker)
Invalidate everything in the cache.
|
void |
invalidateAllExceptFilesystems(com.google.common.collect.ImmutableSet<ProjectFilesystem> filesystems,
CacheStatsTracker statsTracker)
Invalidate all inputs *not* from the given
ProjectFilesystems and their transitive
dependents. |
void |
invalidateFilesystem(ProjectFilesystem filesystem,
CacheStatsTracker statsTracker)
Invalidate all inputs from a given
ProjectFilesystem and their transitive dependents. |
void |
invalidateInputs(Iterable<com.facebook.buck.rules.keys.RuleKeyInput> inputs,
CacheStatsTracker statsTracker)
Invalidate the given inputs and all their transitive dependents.
|
@Nullable public V get(BuildEngineAction action, CacheStatsTracker statsTracker)
get in interface TrackableRuleKeyCache<V>public V get(BuildEngineAction action, java.util.function.Function<? super BuildEngineAction,RuleKeyResult<V>> create, CacheStatsTracker statsTracker)
get in interface TrackableRuleKeyCache<V>public V get(AddsToRuleKey appendable, java.util.function.Function<? super AddsToRuleKey,RuleKeyResult<V>> create, CacheStatsTracker statsTracker)
get in interface TrackableRuleKeyCache<V>public void invalidateInputs(Iterable<com.facebook.buck.rules.keys.RuleKeyInput> inputs, CacheStatsTracker statsTracker)
invalidateInputs in interface TrackableRuleKeyCache<V>public void invalidateAllExceptFilesystems(com.google.common.collect.ImmutableSet<ProjectFilesystem> filesystems, CacheStatsTracker statsTracker)
ProjectFilesystems and their transitive
dependents.invalidateAllExceptFilesystems in interface TrackableRuleKeyCache<V>public void invalidateFilesystem(ProjectFilesystem filesystem, CacheStatsTracker statsTracker)
ProjectFilesystem and their transitive dependents.invalidateFilesystem in interface TrackableRuleKeyCache<V>public void invalidateAll(CacheStatsTracker statsTracker)
invalidateAll in interface TrackableRuleKeyCache<V>public com.google.common.collect.ImmutableList<Map.Entry<BuildRule,V>> getCachedBuildRules()
getCachedBuildRules in interface TrackableRuleKeyCache<V>