aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java
diff options
context:
space:
mode:
authorGravatar Eric Fellheimer <felly@google.com>2016-01-29 00:15:44 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-01-29 14:41:26 +0000
commit6f8b7ce7c8058e88280394cdf3938d1dd6511b8f (patch)
treef1d18ed9204259feca2f86f8373caaf395389016 /src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java
parent62f2d65e7f857c743a5f3742b08dd4f27cd6b999 (diff)
Parallelize Package retrieval during Sky-query operation. To maintain type-safety, we now must pass in the exception type of the callback.
-- MOS_MIGRATED_REVID=113313312
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java
index 58c32ceeac..32f64e82ca 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java
@@ -15,6 +15,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
+import com.google.common.util.concurrent.MoreExecutors;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.ResolvedTargets;
import com.google.devtools.build.lib.cmdline.TargetParsingException;
@@ -54,7 +55,7 @@ public class TargetPatternFunction implements SkyFunction {
new EnvironmentBackedRecursivePackageProvider(env);
RecursivePackageProviderBackedTargetPatternResolver resolver =
new RecursivePackageProviderBackedTargetPatternResolver(provider, env.getListener(),
- patternKey.getPolicy());
+ patternKey.getPolicy(), MoreExecutors.newDirectExecutorService());
TargetPattern parsedPattern = patternKey.getParsedPattern();
ImmutableSet<PathFragment> excludedSubdirectories = patternKey.getExcludedSubdirectories();
final Set<Target> results = CompactHashSet.create();
@@ -65,7 +66,7 @@ public class TargetPatternFunction implements SkyFunction {
Iterables.addAll(results, partialResult);
}
};
- parsedPattern.eval(resolver, excludedSubdirectories, callback);
+ parsedPattern.eval(resolver, excludedSubdirectories, callback, RuntimeException.class);
resolvedTargets = ResolvedTargets.<Target>builder().addAll(results).build();
} catch (TargetParsingException e) {
throw new TargetPatternFunctionException(e);