aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2015-09-23 16:55:21 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2015-09-24 14:17:58 +0000
commit065e7c1c42adc5d80c4c48527418126d4bf60947 (patch)
tree2a32346018e684eea9ea2f4414600646d956e9c9 /src/main/java/com/google/devtools/build/lib/skyframe
parent1e597c85c6881b7cdf208397f4ad836c7f69185a (diff)
Avoid LoadedPackageProvider in the PackageProviderForConfigs type hierarchy.
The PackageProviderForConfigurations is not a provider of loaded packages; it loads packages unconditionally, and is executed only within SkyFunction evaluation domains. I.e., the old type hierarchy made no sense. Also updated the documentation and renamed getLoadedTarget to getTarget. Note that getLoadedPackage was never called, so I removed it. This is in preparation for removing LoadedPackageProvider. -- MOS_MIGRATED_REVID=103754939
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentFunction.java19
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframePackageLoaderWithValueEnvironment.java10
2 files changed, 13 insertions, 16 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentFunction.java
index 65d77a9227..524d8034ad 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentFunction.java
@@ -57,9 +57,9 @@ public class ConfigurationFragmentFunction implements SkyFunction {
BuildOptions buildOptions = configurationFragmentKey.getBuildOptions();
ConfigurationFragmentFactory factory = getFactory(configurationFragmentKey.getFragmentType());
try {
- PackageProviderForConfigurations loadedPackageProvider =
+ PackageProviderForConfigurations packageProvider =
new SkyframePackageLoaderWithValueEnvironment(env);
- ConfigurationEnvironment confEnv = new ConfigurationBuilderEnvironment(loadedPackageProvider);
+ ConfigurationEnvironment confEnv = new ConfigurationBuilderEnvironment(packageProvider);
Fragment fragment = factory.create(confEnv, buildOptions);
if (env.valuesMissing()) {
@@ -95,23 +95,22 @@ public class ConfigurationFragmentFunction implements SkyFunction {
* A {@link ConfigurationEnvironment} implementation that can create dependencies on files.
*/
private final class ConfigurationBuilderEnvironment implements ConfigurationEnvironment {
- private final PackageProviderForConfigurations loadedPackageProvider;
+ private final PackageProviderForConfigurations packageProvider;
- ConfigurationBuilderEnvironment(
- PackageProviderForConfigurations loadedPackageProvider) {
- this.loadedPackageProvider = loadedPackageProvider;
+ ConfigurationBuilderEnvironment(PackageProviderForConfigurations packageProvider) {
+ this.packageProvider = packageProvider;
}
@Override
public Target getTarget(Label label) throws NoSuchPackageException, NoSuchTargetException {
- return loadedPackageProvider.getLoadedTarget(label);
+ return packageProvider.getTarget(label);
}
@Override
public Path getPath(Package pkg, String fileName) {
Path result = pkg.getPackageDirectory().getRelative(fileName);
try {
- loadedPackageProvider.addDependency(pkg, fileName);
+ packageProvider.addDependency(pkg, fileName);
} catch (IOException | LabelSyntaxException e) {
return null;
}
@@ -121,12 +120,12 @@ public class ConfigurationFragmentFunction implements SkyFunction {
@Override
public <T extends Fragment> T getFragment(BuildOptions buildOptions, Class<T> fragmentType)
throws InvalidConfigurationException {
- return loadedPackageProvider.getFragment(buildOptions, fragmentType);
+ return packageProvider.getFragment(buildOptions, fragmentType);
}
@Override
public BlazeDirectories getBlazeDirectories() {
- return loadedPackageProvider.getDirectories();
+ return packageProvider.getDirectories();
}
}
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 d566c7667d..ae2dd8dd14 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
@@ -38,16 +38,14 @@ import java.io.IOException;
* {@link SkyFunction.Environment#getValue} instead of {@link MemoizingEvaluator#evaluate}
* for node evaluation
*/
-class SkyframePackageLoaderWithValueEnvironment implements
- PackageProviderForConfigurations {
+class SkyframePackageLoaderWithValueEnvironment implements PackageProviderForConfigurations {
private final SkyFunction.Environment env;
public SkyframePackageLoaderWithValueEnvironment(SkyFunction.Environment env) {
this.env = env;
}
- @Override
- public Package getLoadedPackage(final PackageIdentifier pkgIdentifier)
+ private Package getPackage(final PackageIdentifier pkgIdentifier)
throws NoSuchPackageException {
SkyKey key = PackageValue.key(pkgIdentifier);
PackageValue value = (PackageValue) env.getValueOrThrow(key, NoSuchPackageException.class);
@@ -58,9 +56,9 @@ class SkyframePackageLoaderWithValueEnvironment implements
}
@Override
- public Target getLoadedTarget(Label label) throws NoSuchPackageException,
+ public Target getTarget(Label label) throws NoSuchPackageException,
NoSuchTargetException {
- Package pkg = getLoadedPackage(label.getPackageIdentifier());
+ Package pkg = getPackage(label.getPackageIdentifier());
return pkg == null ? null : pkg.getTarget(label.getName());
}