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/SkyframePackageLoaderWithValueEnvironment.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/SkyframePackageLoaderWithValueEnvironment.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java | 8 |
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; |