aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2017-02-24 16:30:15 +0000
committerGravatar Yue Gan <yueg@google.com>2017-02-27 15:05:00 +0000
commit777b30d06700f76ba580715429f3663de3fa0529 (patch)
treed3abdc6f42d04256c486270add24e5b0c5d3abbd /src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java
parent25aa033ad5657a5cfa16e8307464648b9374be2d (diff)
Provide more reporting options to SkyFunctions
With more specific information to be reported by Skyfunctions, e.g., to inform the build-event protocol on missing files, the EventHandler interface is no longer enough. Therefore, provide an enriched context for reporting events. -- Change-Id: I2d06166fe4d5b9054e24ad8c752fafc039e3f9f8 Reviewed-on: https://cr.bazel.build/8794 PiperOrigin-RevId: 148463437 MOS_MIGRATED_REVID=148463437
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java b/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java
index ee1eaf2c84..8ba76ffbbf 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java
@@ -22,7 +22,7 @@ import com.google.devtools.build.lib.cmdline.ResolvedTargets;
import com.google.devtools.build.lib.cmdline.TargetParsingException;
import com.google.devtools.build.lib.events.DelegatingEventHandler;
import com.google.devtools.build.lib.events.Event;
-import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.packages.TargetUtils;
@@ -74,10 +74,10 @@ import javax.annotation.Nullable;
public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner {
private static final class ParseFailureListenerImpl extends DelegatingEventHandler
- implements ParseFailureListener {
+ implements ParseFailureListener, ExtendedEventHandler {
private final EventBus eventBus;
- private ParseFailureListenerImpl(EventHandler delegate, EventBus eventBus) {
+ private ParseFailureListenerImpl(ExtendedEventHandler delegate, EventBus eventBus) {
super(delegate);
this.eventBus = eventBus;
}
@@ -88,6 +88,11 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner {
eventBus.post(new ParsingFailedEvent(targetPattern, message));
}
}
+
+ @Override
+ public void post(ExtendedEventHandler.Postable obj) {
+ eventBus.post(obj);
+ }
}
private static final Logger LOG = Logger.getLogger(LoadingPhaseRunner.class.getName());
@@ -109,7 +114,7 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner {
*/
@Override
public LoadingResult execute(
- EventHandler eventHandler,
+ ExtendedEventHandler eventHandler,
EventBus eventBus,
List<String> targetPatterns,
PathFragment relativeWorkingDirectory,
@@ -127,7 +132,8 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner {
}
targetPatternEvaluator.updateOffset(relativeWorkingDirectory);
- EventHandler parseFailureListener = new ParseFailureListenerImpl(eventHandler, eventBus);
+ ExtendedEventHandler parseFailureListener =
+ new ParseFailureListenerImpl(eventHandler, eventBus);
// Determine targets to build:
ResolvedTargets<Target> targets =
getTargetsToBuild(
@@ -248,7 +254,7 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner {
}
private ResolvedTargets<Target> expandTestSuites(
- EventHandler eventHandler, ImmutableSet<Target> targets, boolean keepGoing)
+ ExtendedEventHandler eventHandler, ImmutableSet<Target> targets, boolean keepGoing)
throws LoadingFailedException, TargetParsingException {
// We use strict test_suite expansion here to match the analysis-time checks.
ResolvedTargets<Target> expandedResult =
@@ -269,12 +275,12 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner {
* @throws TargetParsingException if parsing failed and !keepGoing
*/
private ResolvedTargets<Target> getTargetsToBuild(
- EventHandler eventHandler,
+ ExtendedEventHandler eventHandler,
List<String> targetPatterns,
boolean compileOneDependency,
List<String> buildTagFilterList,
boolean keepGoing)
- throws TargetParsingException, InterruptedException {
+ throws TargetParsingException, InterruptedException {
ResolvedTargets<Target> evaluated =
targetPatternEvaluator.parseTargetPatternList(eventHandler, targetPatterns,
FilteringPolicies.FILTER_MANUAL, keepGoing);
@@ -302,7 +308,7 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner {
* @param keepGoing value of the --keep_going flag
*/
private ResolvedTargets<Target> determineTests(
- EventHandler eventHandler,
+ ExtendedEventHandler eventHandler,
List<String> targetPatterns,
LoadingOptions options,
boolean keepGoing)
@@ -318,7 +324,7 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner {
return finalBuilder.build();
}
- private String getWorkspaceName(EventHandler eventHandler)
+ private String getWorkspaceName(ExtendedEventHandler eventHandler)
throws InterruptedException, LoadingFailedException {
try {
return packageManager