From 987ea370f0090329a38a04b9488f3eb155089b03 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Sun, 20 May 2012 15:43:58 +0200 Subject: [PATCH] refactoring dependencies --- jps/jps-builders/jps-builders.iml | 4 +--- .../jps/incremental/BuilderRegistry.java | 17 +---------------- .../jps/incremental/BuilderService.java | 3 +-- .../jps/incremental/JavaBuilderService.java | 6 +++--- .../org/jetbrains/jps/incremental/Utils.java | 2 +- .../jps/incremental/java/JavaBuilder.java | 8 ++++---- .../jps/android/AndroidBuilderService.java | 3 +-- .../groovy/GroovyBuilderService.java | 3 +-- 8 files changed, 13 insertions(+), 33 deletions(-) diff --git a/jps/jps-builders/jps-builders.iml b/jps/jps-builders/jps-builders.iml index 7c9b8ec9b946..31cc304514d6 100644 --- a/jps/jps-builders/jps-builders.iml +++ b/jps/jps-builders/jps-builders.iml @@ -28,11 +28,9 @@ - - - + diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderRegistry.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderRegistry.java index 8070a4a9f556..7573f0b1fd79 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderRegistry.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderRegistry.java @@ -4,8 +4,6 @@ import com.intellij.util.containers.ContainerUtil; import org.jetbrains.jps.idea.OwnServiceLoader; import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; /** * @author Eugene Zhuravlev @@ -17,7 +15,6 @@ public class BuilderRegistry { } private final Map> myModuleLevelBuilders = new HashMap>(); private final List myProjectLevelBuilders = new ArrayList(); - private ExecutorService myTasksExecutor; public static BuilderRegistry getInstance() { return Holder.ourInstance; @@ -27,19 +24,12 @@ public class BuilderRegistry { for (BuilderCategory category : BuilderCategory.values()) { myModuleLevelBuilders.put(category, new ArrayList()); } - final Runtime runtime = Runtime.getRuntime(); - myTasksExecutor = Executors.newFixedThreadPool(runtime.availableProcessors()); - runtime.addShutdownHook(new Thread() { - public void run() { - myTasksExecutor.shutdown(); - } - }); final OwnServiceLoader loader = OwnServiceLoader.load(BuilderService.class); for (BuilderService service : loader) { myProjectLevelBuilders.addAll(service.createProjectLevelBuilders()); - final List moduleLevelBuilders = service.createModuleLevelBuilders(myTasksExecutor); + final List moduleLevelBuilders = service.createModuleLevelBuilders(); for (ModuleLevelBuilder builder : moduleLevelBuilders) { myModuleLevelBuilders.get(builder.getCategory()).add(builder); } @@ -73,9 +63,4 @@ public class BuilderRegistry { public List getProjectLevelBuilders() { return myProjectLevelBuilders; } - - public void shutdown() { - myTasksExecutor.shutdown(); - } - } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderService.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderService.java index e4df2b9d7a8a..bdba0d980a3a 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderService.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/BuilderService.java @@ -4,14 +4,13 @@ import org.jetbrains.annotations.NotNull; import java.util.Collections; import java.util.List; -import java.util.concurrent.ExecutorService; /** * @author nik */ public abstract class BuilderService { @NotNull - public List createModuleLevelBuilders(ExecutorService executorService) { + public List createModuleLevelBuilders() { return Collections.emptyList(); } 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 3d0e6c96c309..5c47fb4cdfd6 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/JavaBuilderService.java @@ -1,12 +1,12 @@ package org.jetbrains.jps.incremental; import org.jetbrains.annotations.NotNull; +import org.jetbrains.jps.api.SharedThreadPool; import org.jetbrains.jps.incremental.java.JavaBuilder; import org.jetbrains.jps.incremental.resources.ResourcesBuilder; import java.util.Arrays; import java.util.List; -import java.util.concurrent.ExecutorService; /** * @author nik @@ -14,7 +14,7 @@ import java.util.concurrent.ExecutorService; public class JavaBuilderService extends BuilderService { @NotNull @Override - public List createModuleLevelBuilders(ExecutorService executorService) { - return Arrays.asList(new JavaBuilder(executorService), new ResourcesBuilder()); + public List createModuleLevelBuilders() { + return Arrays.asList(new JavaBuilder(SharedThreadPool.INSTANCE), new ResourcesBuilder()); } } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java index 829b53901b69..6c7fc3830839 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/Utils.java @@ -16,7 +16,7 @@ import java.util.*; */ public class Utils { public static final Key>> REMOVED_SOURCES_KEY = Key.create("_removed_sources_"); - private static volatile File ourSystemRoot = new File(System.getProperty("user.home", ".jps-server")); + private static volatile File ourSystemRoot = new File(System.getProperty("user.home", ".idea-build")); private Utils() { } diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index 635a2edb3e9e..4f15cf5b7152 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -45,7 +45,7 @@ import java.net.MalformedURLException; import java.net.ServerSocket; import java.net.URL; import java.util.*; -import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executor; import java.util.concurrent.TimeUnit; /** @@ -73,12 +73,12 @@ public class JavaBuilder extends ModuleLevelBuilder { }; private static final Key DELTA_MAPPINGS_CALLBACK_KEY = Key.create("_dependency_data_"); - private final ExecutorService myTaskRunner; + private final Executor myTaskRunner; private int myTasksInProgress = 0; private final Object myCounterLock = new Object(); private final List myClassProcessors = new ArrayList(); - public JavaBuilder(ExecutorService tasksExecutor) { + public JavaBuilder(Executor tasksExecutor) { super(BuilderCategory.TRANSLATOR); myTaskRunner = tasksExecutor; //add here class processors in the sequence they should be executed @@ -434,7 +434,7 @@ public class JavaBuilder extends ModuleLevelBuilder { synchronized (myCounterLock) { myTasksInProgress++; } - myTaskRunner.submit(new Runnable() { + myTaskRunner.execute(new Runnable() { public void run() { try { taskRunnable.run(); diff --git a/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidBuilderService.java b/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidBuilderService.java index 9a3bc389b6ea..cc070517636b 100644 --- a/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidBuilderService.java +++ b/plugins/android/jps-plugin/src/org/jetbrains/jps/android/AndroidBuilderService.java @@ -7,7 +7,6 @@ import org.jetbrains.jps.incremental.ProjectLevelBuilder; import java.util.Arrays; import java.util.List; -import java.util.concurrent.ExecutorService; /** * @author Eugene.Kudelevsky @@ -15,7 +14,7 @@ import java.util.concurrent.ExecutorService; public class AndroidBuilderService extends BuilderService { @NotNull @Override - public List createModuleLevelBuilders(ExecutorService executorService) { + public List createModuleLevelBuilders() { return Arrays.asList(new AndroidSourceGeneratingBuilder(), new AndroidLibraryPackagingBuilder()); } diff --git a/plugins/groovy/rt/src/org/jetbrains/jps/incremental/groovy/GroovyBuilderService.java b/plugins/groovy/rt/src/org/jetbrains/jps/incremental/groovy/GroovyBuilderService.java index 9c67b26d70b3..06e91dc54ce0 100644 --- a/plugins/groovy/rt/src/org/jetbrains/jps/incremental/groovy/GroovyBuilderService.java +++ b/plugins/groovy/rt/src/org/jetbrains/jps/incremental/groovy/GroovyBuilderService.java @@ -21,7 +21,6 @@ import org.jetbrains.jps.incremental.ModuleLevelBuilder; import java.util.Arrays; import java.util.List; -import java.util.concurrent.ExecutorService; /** * @author peter @@ -29,7 +28,7 @@ import java.util.concurrent.ExecutorService; public class GroovyBuilderService extends BuilderService { @NotNull @Override - public List createModuleLevelBuilders(ExecutorService executorService) { + public List createModuleLevelBuilders() { return Arrays.asList(new GroovyBuilder(true), new GroovyBuilder(false)); }