diff options
author | Ulf Adams <ulfjack@google.com> | 2015-09-24 12:40:30 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2015-09-24 14:23:21 +0000 |
commit | e5aaacf5dfecdf8a38ee41a3d35ca1d333d959df (patch) | |
tree | 769b8eb99a642799459aa74af9776bf0c53d0c7f /src/main/java | |
parent | 08be947f2b7c4b4ee828b059b61233286611cf1a (diff) |
Remove more uses of errorEventHandler (previously of Reporter).
Removes mutable global state.
--
MOS_MIGRATED_REVID=103837106
Diffstat (limited to 'src/main/java')
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. |