aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.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/SkyframePackageLoaderWithValueEnvironment.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/SkyframePackageLoaderWithValueEnvironment.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java
index 95ff677240..7e2a6be2f7 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.NoSuchTargetException;
import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.RuleClassProvider;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor.SkyframePackageLoader;
import com.google.devtools.build.lib.vfs.RootedPath;
@@ -40,9 +41,12 @@ import java.io.IOException;
*/
class SkyframePackageLoaderWithValueEnvironment implements PackageProviderForConfigurations {
private final SkyFunction.Environment env;
+ private final RuleClassProvider ruleClassProvider;
- public SkyframePackageLoaderWithValueEnvironment(SkyFunction.Environment env) {
+ public SkyframePackageLoaderWithValueEnvironment(SkyFunction.Environment env,
+ RuleClassProvider ruleClassProvider) {
this.env = env;
+ this.ruleClassProvider = ruleClassProvider;
}
private Package getPackage(final PackageIdentifier pkgIdentifier)
@@ -77,7 +81,7 @@ class SkyframePackageLoaderWithValueEnvironment implements PackageProviderForCon
public <T extends Fragment> T getFragment(BuildOptions buildOptions, Class<T> fragmentType)
throws InvalidConfigurationException {
ConfigurationFragmentValue fragmentNode = (ConfigurationFragmentValue) env.getValueOrThrow(
- ConfigurationFragmentValue.key(buildOptions, fragmentType),
+ ConfigurationFragmentValue.key(buildOptions, fragmentType, ruleClassProvider),
InvalidConfigurationException.class);
if (fragmentNode == null) {
return null;