diff options
author | 2016-01-29 00:15:44 +0000 | |
---|---|---|
committer | 2016-01-29 14:41:26 +0000 | |
commit | 6f8b7ce7c8058e88280394cdf3938d1dd6511b8f (patch) | |
tree | f1d18ed9204259feca2f86f8373caaf395389016 /src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternFunction.java | |
parent | 62f2d65e7f857c743a5f3742b08dd4f27cd6b999 (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.java | 5 |
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); |