In `RecursivePackageProviderBackedTargetPatternResolver` et al. gracefully tolerate the situation of a package that contains errors but doesn't have a failure detail.
PiperOrigin-RevId: 575855757
Change-Id: Idda6b59be188cb7f15207c5a0a38d90890b3fc82
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 f65ed6a..666202a 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
@@ -143,14 +143,7 @@
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()));
- }
+ Package.maybeAddPackageContainsErrorsEventToHandler(pkg, eventHandler);
return TargetPatternResolverUtil.resolvePackageTargets(pkg, actualPolicy);
} catch (NoSuchThingException e) {
String message =
@@ -172,14 +165,7 @@
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()));
- }
+ Package.maybeAddPackageContainsErrorsEventToHandler(pkg, eventHandler);
result.put(pkgId, TargetPatternResolverUtil.resolvePackageTargets(pkg, policy));
}
return result.buildOrThrow();