diff --git a/jps/jps-builders/src/org/jetbrains/jps/api/SequentialTaskExecutor.java b/jps/jps-builders/src/org/jetbrains/jps/api/SequentialTaskExecutor.java index 96c7da6d8fa3..8be4a25c76cf 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/api/SequentialTaskExecutor.java +++ b/jps/jps-builders/src/org/jetbrains/jps/api/SequentialTaskExecutor.java @@ -11,7 +11,7 @@ import java.util.concurrent.atomic.AtomicBoolean; * @author Eugene Zhuravlev * Date: 9/24/11 */ -public class SequentialTaskExecutor { +public class SequentialTaskExecutor implements Executor { private final Executor myExecutor; private final Queue myTaskQueue = new LinkedBlockingQueue(); private final AtomicBoolean myInProgress = new AtomicBoolean(false); @@ -36,6 +36,11 @@ public class SequentialTaskExecutor { myExecutor = executor; } + @Override + public void execute(Runnable task) { + submit(task); + } + public RunnableFuture submit(Runnable task) { final FutureTask futureTask = new FutureTask(task, null); if (myTaskQueue.offer(futureTask)) { diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java index 5c47fb4cdfd6..541cd0ad756c 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java @@ -1,6 +1,7 @@ package org.jetbrains.jps.incremental; import org.jetbrains.annotations.NotNull; +import org.jetbrains.jps.api.SequentialTaskExecutor; import org.jetbrains.jps.api.SharedThreadPool; import org.jetbrains.jps.incremental.java.JavaBuilder; import org.jetbrains.jps.incremental.resources.ResourcesBuilder; @@ -15,6 +16,6 @@ public class JavaBuilderService extends BuilderService { @NotNull @Override public List createModuleLevelBuilders() { - return Arrays.asList(new JavaBuilder(SharedThreadPool.INSTANCE), new ResourcesBuilder()); + return Arrays.asList(new JavaBuilder(new SequentialTaskExecutor(SharedThreadPool.INSTANCE)), new ResourcesBuilder()); } }