aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2015-11-12 21:10:19 +0000
committerGravatar Lukacs Berki <lberki@google.com>2015-11-13 10:22:35 +0000
commitca1b21ac6d8a58041db822725b42de151b163dee (patch)
treee309a78ce4fc5d53ae0ae408aeef253afa330768 /src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationFunction.java
parent517bc6f698eca41356909499c98f91bc69141f2f (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.java11
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.