aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
authorGravatar Mark Schaller <mschaller@google.com>2015-06-10 19:09:51 +0000
committerGravatar Lukacs Berki <lberki@google.com>2015-06-11 10:36:50 +0000
commitc4d789421efbcb1e690a763b53a6ff02fe8f40b4 (patch)
tree2787ab5156e43f4dcd4c63526a549daa07acdba5 /src/main/java/com/google/devtools/build/lib/skyframe
parentb134f001f1ad62f13be6c3af747a030a9a741f92 (diff)
Cleanup findTargetsBeneathDirectory
Improves local variable names, moves building of excluded path fragments outside of the package path entries loop, and moves the explanatory comment for the no-targets-found check up to where the check is performed. -- MOS_MIGRATED_REVID=95660427
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
index 8facbe5c78..cd7a7be567 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java
@@ -165,34 +165,35 @@ public class RecursivePackageProviderBackedTargetPatternResolver
: policy;
PathFragment pathFragment = getPathFragment(directory);
- ImmutableSet.Builder<PathFragment> excludedPathFragments = ImmutableSet.builder();
+
+ ImmutableSet.Builder<PathFragment> excludedPathFragmentsBuilder = ImmutableSet.builder();
for (String excludedDirectory : excludedSubdirectories) {
- excludedPathFragments.add(getPathFragment(excludedDirectory));
+ excludedPathFragmentsBuilder.add(getPathFragment(excludedDirectory));
}
+ ImmutableSet<PathFragment> excludedPathFragments = excludedPathFragmentsBuilder.build();
- ResolvedTargets.Builder<Target> builder = ResolvedTargets.builder();
-
+ ResolvedTargets.Builder<Target> targetBuilder = ResolvedTargets.builder();
for (Path root : pkgPath.getPathEntries()) {
RootedPath rootedPath = RootedPath.toRootedPath(root, pathFragment);
- Iterable<PathFragment> packagesUnderDirectory = recursivePackageProvider
- .getPackagesUnderDirectory(rootedPath, excludedPathFragments.build());
+ Iterable<PathFragment> packagesUnderDirectory =
+ recursivePackageProvider.getPackagesUnderDirectory(rootedPath, excludedPathFragments);
for (PathFragment pkg : packagesUnderDirectory) {
- builder.merge(getTargetsInPackage(originalPattern, pkg, FilteringPolicies.NO_FILTER));
+ targetBuilder.merge(getTargetsInPackage(originalPattern, pkg, FilteringPolicies.NO_FILTER));
}
}
- if (builder.isEmpty()) {
+ // Perform the no-targets-found check before applying the filtering policy so we only return the
+ // error if the input directory's subtree really contains no targets.
+ if (targetBuilder.isEmpty()) {
throw new TargetParsingException("no targets found beneath '" + pathFragment + "'");
}
-
- // Apply the transform after the check so we only return the
- // error if the tree really contains no targets.
- ResolvedTargets<Target> intermediateResult = builder.build();
+ ResolvedTargets<Target> prefilteredTargets = targetBuilder.build();
+
ResolvedTargets.Builder<Target> filteredBuilder = ResolvedTargets.builder();
- if (intermediateResult.hasError()) {
+ if (prefilteredTargets.hasError()) {
filteredBuilder.setError();
}
- for (Target target : intermediateResult.getTargets()) {
+ for (Target target : prefilteredTargets.getTargets()) {
if (actualPolicy.shouldRetain(target, false)) {
filteredBuilder.add(target);
}