diff options
author | 2017-02-24 16:30:15 +0000 | |
---|---|---|
committer | 2017-02-27 15:05:00 +0000 | |
commit | 777b30d06700f76ba580715429f3663de3fa0529 (patch) | |
tree | d3abdc6f42d04256c486270add24e5b0c5d3abbd /src/main/java/com/google/devtools/build/lib/skyframe/LegacyLoadingPhaseRunner.java | |
parent | 25aa033ad5657a5cfa16e8307464648b9374be2d (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.java | 26 |
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 |