Improve error reporting from RecursivePackageProviderBackedTargetPatternResolver#bulkGetTargetsInPackage by checking if they are in error first. PiperOrigin-RevId: 454984020 Change-Id: I8b74ca76dfe8c48583f0dd3b30e98f7c4067843b
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 1d14e1a..341666f 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
@@ -141,6 +141,14 @@ rulesOnly ? FilteringPolicies.and(FilteringPolicies.RULES_ONLY, policy) : policy; try { Package pkg = getPackage(packageIdentifier); + if (pkg.containsErrors()) { + eventHandler.handle( + Event.error( + "package contains errors: " + + pkg.getNameFragment() + + ": " + + pkg.getFailureDetail().getMessage())); + } return TargetPatternResolverUtil.resolvePackageTargets(pkg, actualPolicy); } catch (NoSuchThingException e) { String message = @@ -162,6 +170,14 @@ ImmutableMap.Builder<PackageIdentifier, Collection<Target>> result = ImmutableMap.builder(); for (PackageIdentifier pkgId : pkgIds) { Package pkg = pkgs.get(pkgId); + if (pkg.containsErrors()) { + eventHandler.handle( + Event.error( + "package contains errors: " + + pkg.getNameFragment() + + ": " + + pkg.getFailureDetail().getMessage())); + } result.put(pkgId, TargetPatternResolverUtil.resolvePackageTargets(pkg, policy)); } return result.buildOrThrow();