diff options
author | 2015-10-27 21:15:24 +0000 | |
---|---|---|
committer | 2015-10-28 16:02:20 +0000 | |
commit | 955a23aa730d8b397ac6684c06fd657f8d75b0bf (patch) | |
tree | 061cc445e9d53083ed660fae062a55f92965276d /src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java | |
parent | 0eeeae14d4a666eb87e1c5965a9ee78df2a32a57 (diff) |
Change default for rule classes that don't explicitly
declare required configuration fragments: from
*everything* to *nothing*.
Now that all builtin rules properly declare their fragments,
the "backwards compatibility" concern that inspired the
original behavior is no longer needed.
This impacts, for example, filegroup rules, which have
nothing to declare.
--
MOS_MIGRATED_REVID=106433791
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java index a5e6320970..bc39fe11e5 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java @@ -14,11 +14,9 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; 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.BuildConfiguration.Fragment; -import com.google.devtools.build.lib.analysis.config.ConfigurationFragmentFactory; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.collect.nestedset.NestedSet; @@ -141,12 +139,7 @@ public class TransitiveTargetFunction if (target instanceof Rule) { ConfigurationFragmentPolicy configurationFragmentPolicy = target.getAssociatedRule().getRuleClassObject().getConfigurationFragmentPolicy(); - Set<Class<?>> configFragments = - configurationFragmentPolicy.getRequiredConfigurationFragments(); - // An empty result means this rule requires all fragments (which practically means - // the rule isn't yet declaring its actually needed fragments). So load everything. - configFragments = configFragments.isEmpty() ? getAllFragments() : configFragments; - for (Class<?> fragment : configFragments) { + for (Class<?> fragment : configurationFragmentPolicy.getRequiredConfigurationFragments()) { if (!builder.getConfigFragmentsFromDeps().contains(fragment)) { builder.getTransitiveConfigFragments().add( fragment.asSubclass(BuildConfiguration.Fragment.class)); @@ -212,17 +205,6 @@ public class TransitiveTargetFunction } /** - * Returns every configuration fragment known to the system. - */ - private Set<Class<?>> getAllFragments() { - ImmutableSet.Builder<Class<?>> builder = ImmutableSet.builder(); - for (ConfigurationFragmentFactory factory : ruleClassProvider.getConfigurationFragments()) { - builder.add(factory.creates()); - } - return builder.build(); - } - - /** * Holds values accumulated across the given target and its transitive dependencies for the * purpose of constructing a {@link TransitiveTargetValue}. * |