aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2015-09-25 22:33:55 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-09-28 11:39:44 +0000
commit7b51b1a32d35ab3a056475e6e0c0765c32cd3c99 (patch)
tree76ddf4dc55e4b8a3095647e7acaef9cdf680265e /src/main/java
parent5735ff9978ff1d2cbde994b9d7c9516a9a331e5b (diff)
Inject an event handler into the getErrorFreeVisitedPackages call.
This means we no longer need an event handler on the object itself. -- MOS_MIGRATED_REVID=103982299
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunner.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/pkgcache/TransitivePackageLoader.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java7
4 files changed, 9 insertions, 16 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunner.java b/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunner.java
index 26b119386c..15e08b3df7 100644
--- a/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunner.java
+++ b/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunner.java
@@ -468,7 +468,7 @@ public class LoadingPhaseRunner {
// packages/targets have been visited since the last sync/clear.
boolean loadingSuccessful = pkgLoader.sync(eventHandler, targetsToLoad, labelsToLoad,
keepGoing, loadingPhaseThreads, Integer.MAX_VALUE);
- Set<Package> errorFreePackages = pkgLoader.getErrorFreeVisitedPackages();
+ Set<Package> errorFreePackages = pkgLoader.getErrorFreeVisitedPackages(eventHandler);
ImmutableSet<Target> targetsToAnalyze;
if (loadingSuccessful) {
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/TransitivePackageLoader.java b/src/main/java/com/google/devtools/build/lib/pkgcache/TransitivePackageLoader.java
index 96d3cd4024..d3c7ee0966 100644
--- a/src/main/java/com/google/devtools/build/lib/pkgcache/TransitivePackageLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/pkgcache/TransitivePackageLoader.java
@@ -72,7 +72,7 @@ public interface TransitivePackageLoader {
*
* <p>Not thread-safe; do not call during visitation.
*/
- Set<Package> getErrorFreeVisitedPackages();
+ Set<Package> getErrorFreeVisitedPackages(EventHandler eventHandler);
/**
* Return a mapping between the specified top-level targets and root causes. Note that targets in
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index 07272529d9..cbf864d840 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -279,7 +279,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
this.tsgm = tsgm;
this.workspaceStatusActionFactory = workspaceStatusActionFactory;
this.packageManager = new SkyframePackageManager(
- new SkyframePackageLoader(), new SkyframeTransitivePackageLoader(reporter),
+ new SkyframePackageLoader(), new SkyframeTransitivePackageLoader(),
new SkyframeTargetPatternEvaluator(this), syscalls, cyclesReporter, pkgLocator,
numPackagesLoaded, this);
this.errorEventListener = Preconditions.checkNotNull(reporter);
@@ -1361,17 +1361,10 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
@VisibleForTesting
public TransitivePackageLoader pkgLoader() {
checkActive();
- return new SkyframeLabelVisitor(
- new SkyframeTransitivePackageLoader(errorEventListener), cyclesReporter);
+ return new SkyframeLabelVisitor(new SkyframeTransitivePackageLoader(), cyclesReporter);
}
class SkyframeTransitivePackageLoader {
- private final EventHandler eventHandler;
-
- SkyframeTransitivePackageLoader(EventHandler eventHandler) {
- this.eventHandler = eventHandler;
- }
-
/**
* Loads the specified {@link TransitiveTargetValue}s.
*/
@@ -1390,7 +1383,8 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
eventHandler);
}
- public Set<Package> retrievePackages(Set<PackageIdentifier> packageIds) {
+ public Set<Package> retrievePackages(
+ final EventHandler eventHandler, Set<PackageIdentifier> packageIds) {
final List<SkyKey> valueNames = new ArrayList<>();
for (PackageIdentifier pkgId : packageIds) {
valueNames.add(PackageValue.key(pkgId));
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
index f325dc3ba3..1315fcf60d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
@@ -56,7 +56,7 @@ final class SkyframeLabelVisitor implements TransitivePackageLoader {
private Set<PackageIdentifier> errorFreeVisitedPackages;
private Set<Label> visitedTargets;
private Set<TransitiveTargetValue> previousBuildTargetValueSet = null;
- private boolean lastBuildKeepGoing = false;
+ private boolean lastBuildKeepGoing;
private final Multimap<Label, Label> rootCauses = HashMultimap.create();
SkyframeLabelVisitor(SkyframeTransitivePackageLoader transitivePackageLoader,
@@ -229,15 +229,14 @@ final class SkyframeLabelVisitor implements TransitivePackageLoader {
previousBuildTargetValueSet = currentBuildTargetValueSet;
}
-
@Override
public Set<PackageIdentifier> getVisitedPackageNames() {
return allVisitedPackages;
}
@Override
- public Set<Package> getErrorFreeVisitedPackages() {
- return transitivePackageLoader.retrievePackages(errorFreeVisitedPackages);
+ public Set<Package> getErrorFreeVisitedPackages(EventHandler eventHandler) {
+ return transitivePackageLoader.retrievePackages(eventHandler, errorFreeVisitedPackages);
}
/**