diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
3 files changed, 17 insertions, 56 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 1fd16b1989..c6d34b0c09 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 @@ -19,7 +19,6 @@ import com.google.common.collect.Sets; import com.google.devtools.build.lib.cmdline.Label; 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.ExtendedEventHandler; import com.google.devtools.build.lib.packages.NoSuchPackageException; @@ -35,8 +34,6 @@ import com.google.devtools.build.lib.pkgcache.LoadingPhaseCompleteEvent; import com.google.devtools.build.lib.pkgcache.LoadingPhaseRunner; import com.google.devtools.build.lib.pkgcache.LoadingResult; import com.google.devtools.build.lib.pkgcache.PackageManager; -import com.google.devtools.build.lib.pkgcache.ParseFailureListener; -import com.google.devtools.build.lib.pkgcache.ParsingFailedEvent; import com.google.devtools.build.lib.pkgcache.TargetParsingCompleteEvent; import com.google.devtools.build.lib.pkgcache.TargetPatternEvaluator; import com.google.devtools.build.lib.pkgcache.TestFilter; @@ -71,27 +68,6 @@ import javax.annotation.Nullable; * <p>The Skyframe-based re-implementation of this class is in TargetPatternPhaseFunction. */ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner { - - private static final class ParseFailureListenerImpl extends DelegatingEventHandler - implements ParseFailureListener, ExtendedEventHandler { - private final ExtendedEventHandler eventHandler; - - private ParseFailureListenerImpl(ExtendedEventHandler delegate) { - super(delegate); - this.eventHandler = delegate; - } - - @Override - public void parsingError(String targetPattern, String message) { - eventHandler.post(new ParsingFailedEvent(targetPattern, message)); - } - - @Override - public void post(ExtendedEventHandler.Postable obj) { - eventHandler.post(obj); - } - } - private static final Logger LOG = Logger.getLogger(LoadingPhaseRunner.class.getName()); private final PackageManager packageManager; @@ -128,12 +104,10 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner { } targetPatternEvaluator.updateOffset(relativeWorkingDirectory); - ExtendedEventHandler parseFailureListener = - new ParseFailureListenerImpl(eventHandler); // Determine targets to build: ResolvedTargets<Target> targets = getTargetsToBuild( - parseFailureListener, targetPatterns, options.compileOneDependency, + eventHandler, targetPatterns, options.compileOneDependency, options.buildTagFilterList, options.buildManualTests, keepGoing); ImmutableSet<Target> filteredTargets = targets.getFilteredTargets(); @@ -149,7 +123,7 @@ public final class LegacyLoadingPhaseRunner extends LoadingPhaseRunner { if (determineTests || buildTestsOnly) { // Parse the targets to get the tests. ResolvedTargets<Target> testTargets = - determineTests(parseFailureListener, targetPatterns, options, keepGoing); + determineTests(eventHandler, targetPatterns, options, keepGoing); if (testTargets.getTargets().isEmpty() && !testTargets.getFilteredTargets().isEmpty()) { eventHandler.handle(Event.warn("All specified test targets were excluded by filters")); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java index 60ec9caec1..2ae25ccd07 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsFunction.java @@ -18,8 +18,8 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.cmdline.TargetParsingException; import com.google.devtools.build.lib.events.Event; -import com.google.devtools.build.lib.events.EventHandler; -import com.google.devtools.build.lib.pkgcache.ParseFailureListener; +import com.google.devtools.build.lib.events.ExtendedEventHandler; +import com.google.devtools.build.lib.pkgcache.ParsingFailedEvent; import com.google.devtools.build.lib.skyframe.PrepareDepsOfPatternValue.PrepareDepsOfPatternSkyKeyOrException; import com.google.devtools.build.lib.skyframe.PrepareDepsOfPatternsValue.TargetPatternSequence; import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey; @@ -28,9 +28,7 @@ import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; import com.google.devtools.build.skyframe.ValueOrException; - import java.util.Map; - import javax.annotation.Nullable; /** @@ -39,20 +37,18 @@ import javax.annotation.Nullable; */ public class PrepareDepsOfPatternsFunction implements SkyFunction { - public static ImmutableList<SkyKey> getSkyKeys(SkyKey skyKey, EventHandler eventHandler) { + public static ImmutableList<SkyKey> getSkyKeys(SkyKey skyKey, ExtendedEventHandler eventHandler) { TargetPatternSequence targetPatternSequence = (TargetPatternSequence) skyKey.argument(); Iterable<PrepareDepsOfPatternSkyKeyOrException> keysMaybe = PrepareDepsOfPatternValue.keys(targetPatternSequence.getPatterns(), targetPatternSequence.getOffset()); ImmutableList.Builder<SkyKey> skyKeyBuilder = ImmutableList.builder(); - boolean handlerIsParseFailureListener = eventHandler instanceof ParseFailureListener; for (PrepareDepsOfPatternSkyKeyOrException skyKeyOrException : keysMaybe) { try { skyKeyBuilder.add(skyKeyOrException.getSkyKey()); } catch (TargetParsingException e) { - handleTargetParsingException(eventHandler, handlerIsParseFailureListener, - skyKeyOrException.getOriginalPattern(), e); + handleTargetParsingException(eventHandler, skyKeyOrException.getOriginalPattern(), e); } } @@ -81,7 +77,7 @@ public class PrepareDepsOfPatternsFunction implements SkyFunction { @Nullable @Override public SkyValue compute(SkyKey skyKey, Environment env) throws InterruptedException { - EventHandler eventHandler = env.getListener(); + ExtendedEventHandler eventHandler = env.getListener(); ImmutableList<SkyKey> skyKeys = getSkyKeys(skyKey, eventHandler); Map<SkyKey, ValueOrException<TargetParsingException>> tokensByKey = @@ -90,7 +86,6 @@ public class PrepareDepsOfPatternsFunction implements SkyFunction { return null; } - boolean handlerIsParseFailureListener = eventHandler instanceof ParseFailureListener; for (SkyKey key : skyKeys) { try { // The only exception type throwable by PrepareDepsOfPatternFunction is @@ -99,28 +94,25 @@ public class PrepareDepsOfPatternsFunction implements SkyFunction { Preconditions.checkNotNull(tokensByKey.get(key).get()); } catch (TargetParsingException e) { // If a target pattern can't be evaluated, notify the user of the problem and keep going. - handleTargetParsingException(eventHandler, handlerIsParseFailureListener, key, e); + handleTargetParsingException(eventHandler, key, e); } } return new PrepareDepsOfPatternsValue(getTargetPatternKeys(skyKeys)); } - private static void handleTargetParsingException(EventHandler eventHandler, - boolean handlerIsParseFailureListener, SkyKey key, TargetParsingException e) { + private static void handleTargetParsingException( + ExtendedEventHandler eventHandler, SkyKey key, TargetParsingException e) { TargetPatternKey patternKey = (TargetPatternKey) key.argument(); String rawPattern = patternKey.getPattern(); - handleTargetParsingException(eventHandler, handlerIsParseFailureListener, rawPattern, e); + handleTargetParsingException(eventHandler, rawPattern, e); } - private static void handleTargetParsingException(EventHandler eventHandler, - boolean handlerIsParseFailureListener, String rawPattern, TargetParsingException e) { + private static void handleTargetParsingException( + ExtendedEventHandler eventHandler, String rawPattern, TargetParsingException e) { String errorMessage = e.getMessage(); eventHandler.handle(Event.error("Skipping '" + rawPattern + "': " + errorMessage)); - if (handlerIsParseFailureListener) { - ParseFailureListener parseListener = (ParseFailureListener) eventHandler; - parseListener.parsingError(rawPattern, errorMessage); - } + eventHandler.post(new ParsingFailedEvent(rawPattern, errorMessage)); } @Nullable diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeTargetPatternEvaluator.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeTargetPatternEvaluator.java index af3450e765..dccc1eff74 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeTargetPatternEvaluator.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeTargetPatternEvaluator.java @@ -24,7 +24,7 @@ import com.google.devtools.build.lib.events.ExtendedEventHandler; import com.google.devtools.build.lib.packages.Target; import com.google.devtools.build.lib.pkgcache.FilteringPolicies; import com.google.devtools.build.lib.pkgcache.FilteringPolicy; -import com.google.devtools.build.lib.pkgcache.ParseFailureListener; +import com.google.devtools.build.lib.pkgcache.ParsingFailedEvent; import com.google.devtools.build.lib.pkgcache.TargetPatternEvaluator; import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternSkyKeyOrException; import com.google.devtools.build.lib.util.Preconditions; @@ -115,9 +115,7 @@ final class SkyframeTargetPatternEvaluator implements TargetPatternEvaluator { } String pattern = skyKeyOrException.getOriginalPattern(); eventHandler.handle(Event.error("Skipping '" + pattern + "': " + e.getMessage())); - if (eventHandler instanceof ParseFailureListener) { - ((ParseFailureListener) eventHandler).parsingError(pattern, e.getMessage()); - } + eventHandler.post(new ParsingFailedEvent(pattern, e.getMessage())); } } ImmutableList<SkyKey> skyKeys = builder.build(); @@ -188,10 +186,7 @@ final class SkyframeTargetPatternEvaluator implements TargetPatternEvaluator { } finalTargetSetEvaluator.setError(); - if (eventHandler instanceof ParseFailureListener) { - ParseFailureListener parseListener = (ParseFailureListener) eventHandler; - parseListener.parsingError(rawPattern, errorMessage); - } + eventHandler.post(new ParsingFailedEvent(rawPattern, errorMessage)); } } |