aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2015-09-24 12:40:30 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2015-09-24 14:23:21 +0000
commite5aaacf5dfecdf8a38ee41a3d35ca1d333d959df (patch)
tree769b8eb99a642799459aa74af9776bf0c53d0c7f /src/main/java
parent08be947f2b7c4b4ee828b059b61233286611cf1a (diff)
Remove more uses of errorEventHandler (previously of Reporter).
Removes mutable global state. -- MOS_MIGRATED_REVID=103837106
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java29
5 files changed, 23 insertions, 18 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java
index ae16a16434..b96870ed8d 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java
@@ -177,8 +177,8 @@ public final class BuildTool {
}
}
configurations = runtime.getSkyframeExecutor().createConfigurations(
- runtime.getConfigurationFactory(), buildOptions, runtime.getDirectories(),
- request.getMultiCpus(), request.getViewOptions().keepGoing);
+ env.getReporter(), runtime.getConfigurationFactory(), buildOptions,
+ runtime.getDirectories(), request.getMultiCpus(), request.getViewOptions().keepGoing);
env.getEventBus().post(new ConfigurationsCreatedEvent(configurations));
env.throwPendingException();
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java b/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java
index 535fe7e4f8..248bf16161 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java
@@ -137,6 +137,7 @@ public class SkyframeBuilder implements Builder {
try {
result =
skyframeExecutor.buildArtifacts(
+ eventHandler,
executor,
artifacts,
targetsToBuild,
@@ -170,6 +171,7 @@ public class SkyframeBuilder implements Builder {
// built and then the build being interrupted.
result =
skyframeExecutor.buildArtifacts(
+ eventHandler,
executor,
ImmutableSet.<Artifact>of(),
targetsToBuild,
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
index f0c21bf228..ef0cbd1d71 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandEnvironment.java
@@ -182,7 +182,7 @@ public final class CommandEnvironment {
if (!loadingSuccessful) {
throw new InvalidConfigurationException("Configuration creation failed");
}
- return getSkyframeExecutor().createConfigurations(runtime.getConfigurationFactory(),
+ return getSkyframeExecutor().createConfigurations(reporter, runtime.getConfigurationFactory(),
buildOptions, runtime.getDirectories(), ImmutableSet.<String>of(), keepGoing);
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
index 5d86036774..cd56a892ed 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
@@ -201,7 +201,7 @@ public final class SkyframeBuildView {
enableAnalysis(true);
EvaluationResult<ActionLookupValue> result;
try {
- result = skyframeExecutor.configureTargets(values, aspectKeys, keepGoing);
+ result = skyframeExecutor.configureTargets(eventHandler, values, aspectKeys, keepGoing);
} finally {
enableAnalysis(false);
}
@@ -332,7 +332,7 @@ public final class SkyframeBuildView {
// In order to determine the set of configured targets transitively error free from action
// conflict issues, we run a post-processing update() that uses the bad action map.
EvaluationResult<PostConfiguredTargetValue> actionConflictResult =
- skyframeExecutor.postConfigureTargets(values, keepGoing, badActions);
+ skyframeExecutor.postConfigureTargets(eventHandler, values, keepGoing, badActions);
goodCts = Lists.newArrayListWithCapacity(values.size());
for (ConfiguredTargetKey value : values) {
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 05ceedd252..842420456c 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
@@ -186,7 +186,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
private final AtomicInteger numPackagesLoaded = new AtomicInteger(0);
protected SkyframeBuildView skyframeBuildView;
- private EventHandler errorEventListener;
+ private final EventHandler errorEventListener;
private ActionLogBufferPathGenerator actionLogBufferPathGenerator;
protected BuildDriver buildDriver;
@@ -962,9 +962,10 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
* result. Also invalidates {@link PrecomputedValue#BLAZE_DIRECTORIES} if it has changed.
*/
public BuildConfigurationCollection createConfigurations(
- ConfigurationFactory configurationFactory, BuildOptions buildOptions,
- BlazeDirectories directories, Set<String> multiCpu, boolean keepGoing)
- throws InvalidConfigurationException, InterruptedException {
+ EventHandler eventHandler, ConfigurationFactory configurationFactory,
+ BuildOptions buildOptions, BlazeDirectories directories, Set<String> multiCpu,
+ boolean keepGoing)
+ throws InvalidConfigurationException, InterruptedException {
this.configurationFactory.set(configurationFactory);
this.configurationFragments.set(ImmutableList.copyOf(configurationFactory.getFactories()));
// TODO(bazel-team): find a way to use only BuildConfigurationKey instead of
@@ -974,7 +975,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
SkyKey skyKey = ConfigurationCollectionValue.key(
buildOptions, ImmutableSortedSet.copyOf(multiCpu));
EvaluationResult<ConfigurationCollectionValue> result = buildDriver.evaluate(
- Arrays.asList(skyKey), keepGoing, DEFAULT_THREAD_COUNT, errorEventListener);
+ Arrays.asList(skyKey), keepGoing, DEFAULT_THREAD_COUNT, eventHandler);
if (result.hasError()) {
Throwable e = result.getError(skyKey).getException();
// Wrap loading failed exceptions
@@ -1028,6 +1029,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
* given test targets.
*/
public EvaluationResult<?> buildArtifacts(
+ EventHandler eventHandler,
Executor executor,
Set<Artifact> artifactsToBuild,
Collection<ConfiguredTarget> targetsToBuild,
@@ -1056,7 +1058,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
Iterables.concat(artifactKeys, targetKeys, aspectKeys, testKeys),
keepGoing,
numJobs,
- errorEventListener);
+ eventHandler);
} finally {
progressReceiver.executionProgressReceiver = null;
// Also releases thread locks.
@@ -1266,11 +1268,12 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
*/
@VisibleForTesting
public BuildConfiguration getConfigurationForTesting(
- Set<Class<? extends BuildConfiguration.Fragment>> fragments, BuildOptions options)
- throws InterruptedException {
+ EventHandler eventHandler, Set<Class<? extends BuildConfiguration.Fragment>> fragments,
+ BuildOptions options)
+ throws InterruptedException {
SkyKey key = BuildConfigurationValue.key(fragments, options);
BuildConfigurationValue result = (BuildConfigurationValue) buildDriver
- .evaluate(ImmutableList.of(key), false, DEFAULT_THREAD_COUNT, errorEventListener).get(key);
+ .evaluate(ImmutableList.of(key), false, DEFAULT_THREAD_COUNT, eventHandler).get(key);
return result.getConfiguration();
}
@@ -1314,7 +1317,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
}
/** Configures a given set of configured targets. */
- public EvaluationResult<ActionLookupValue> configureTargets(
+ public EvaluationResult<ActionLookupValue> configureTargets(EventHandler eventHandler,
List<ConfiguredTargetKey> values, List<AspectKey> aspectKeys, boolean keepGoing)
throws InterruptedException {
checkActive();
@@ -1325,7 +1328,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
}
// Make sure to not run too many analysis threads. This can cause memory thrashing.
return buildDriver.evaluate(keys, keepGoing, ResourceUsage.getAvailableProcessors(),
- errorEventListener);
+ eventHandler);
}
/**
@@ -1333,7 +1336,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
* error-free from action conflicts.
*/
public EvaluationResult<PostConfiguredTargetValue> postConfigureTargets(
- List<ConfiguredTargetKey> values, boolean keepGoing,
+ EventHandler eventHandler, List<ConfiguredTargetKey> values, boolean keepGoing,
ImmutableMap<Action, SkyframeActionExecutor.ConflictException> badActions)
throws InterruptedException {
checkActive();
@@ -1341,7 +1344,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
// Make sure to not run too many analysis threads. This can cause memory thrashing.
EvaluationResult<PostConfiguredTargetValue> result =
buildDriver.evaluate(PostConfiguredTargetValue.keys(values), keepGoing,
- ResourceUsage.getAvailableProcessors(), errorEventListener);
+ ResourceUsage.getAvailableProcessors(), eventHandler);
// Remove all post-configured target values immediately for memory efficiency. We are OK with
// this mini-phase being non-incremental as the failure mode of action conflict is rare.