diff options
author | 2015-11-12 21:10:19 +0000 | |
---|---|---|
committer | 2015-11-13 10:22:35 +0000 | |
commit | ca1b21ac6d8a58041db822725b42de151b163dee (patch) | |
tree | e309a78ce4fc5d53ae0ae408aeef253afa330768 /src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java | |
parent | 517bc6f698eca41356909499c98f91bc69141f2f (diff) |
Pre-trim build options for all remaining calls to ConfigurationFragment.key. Move
the trimming logic into key() itself to:
a) eliminate code redundancy
b) guarantee all future calls to key() also do this.
--
MOS_MIGRATED_REVID=107713353
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java index 9b5bdad15c..c3773c2a7c 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java @@ -16,14 +16,12 @@ package com.google.devtools.build.lib.skyframe; import static com.google.devtools.build.lib.analysis.config.BuildConfiguration.Fragment; import com.google.common.collect.ClassToInstanceMap; -import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.MutableClassToInstanceMap; import com.google.devtools.build.lib.analysis.BlazeDirectories; import com.google.devtools.build.lib.analysis.ConfigurationCollectionFactory; import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; -import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException; import com.google.devtools.build.lib.packages.RuleClassProvider; import com.google.devtools.build.skyframe.SkyFunction; @@ -91,13 +89,8 @@ public class BuildConfigurationFunction implements SkyFunction { // Get SkyKeys for the fragments we need to load. Set<SkyKey> fragmentKeys = new LinkedHashSet<>(); for (Class<? extends BuildConfiguration.Fragment> fragmentClass : key.getFragments()) { - // We don't want to invalidate the fragment Skyframe key due to existence of absence of - // options the fragment doesn't use. - BuildOptions optionsUsedByFragment = key.getBuildOptions().trim( - BuildConfiguration.getOptionsClasses( - ImmutableList.<Class<? extends BuildConfiguration.Fragment>>of(fragmentClass), - ruleClassProvider)); - fragmentKeys.add(ConfigurationFragmentValue.key(optionsUsedByFragment, fragmentClass)); + fragmentKeys.add( + ConfigurationFragmentValue.key(key.getBuildOptions(), fragmentClass, ruleClassProvider)); } // Load them as Skyframe deps. |