diff options
author | Mark Schaller <mschaller@google.com> | 2015-06-10 19:09:51 +0000 |
---|---|---|
committer | Lukacs Berki <lberki@google.com> | 2015-06-11 10:36:50 +0000 |
commit | c4d789421efbcb1e690a763b53a6ff02fe8f40b4 (patch) | |
tree | 2787ab5156e43f4dcd4c63526a549daa07acdba5 /src/main/java | |
parent | b134f001f1ad62f13be6c3af747a030a9a741f92 (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')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/RecursivePackageProviderBackedTargetPatternResolver.java | 29 |
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); } |