mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
refactoring dependencies
This commit is contained in:
@@ -28,11 +28,9 @@
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="library" name="jna" level="project" />
|
||||
<orderEntry type="library" name="Guava" level="project" />
|
||||
<orderEntry type="module" module-name="java-runtime" scope="RUNTIME" />
|
||||
<orderEntry type="library" name="Log4J" level="project" />
|
||||
<orderEntry type="library" name="JUnit4" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="JUnit4" level="project" />
|
||||
<orderEntry type="module-library" scope="TEST">
|
||||
<library>
|
||||
<CLASSES>
|
||||
|
||||
@@ -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<BuilderCategory, List<ModuleLevelBuilder>> myModuleLevelBuilders = new HashMap<BuilderCategory, List<ModuleLevelBuilder>>();
|
||||
private final List<ProjectLevelBuilder> myProjectLevelBuilders = new ArrayList<ProjectLevelBuilder>();
|
||||
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<ModuleLevelBuilder>());
|
||||
}
|
||||
final Runtime runtime = Runtime.getRuntime();
|
||||
myTasksExecutor = Executors.newFixedThreadPool(runtime.availableProcessors());
|
||||
runtime.addShutdownHook(new Thread() {
|
||||
public void run() {
|
||||
myTasksExecutor.shutdown();
|
||||
}
|
||||
});
|
||||
|
||||
final OwnServiceLoader<BuilderService> loader = OwnServiceLoader.load(BuilderService.class);
|
||||
|
||||
for (BuilderService service : loader) {
|
||||
myProjectLevelBuilders.addAll(service.createProjectLevelBuilders());
|
||||
final List<? extends ModuleLevelBuilder> moduleLevelBuilders = service.createModuleLevelBuilders(myTasksExecutor);
|
||||
final List<? extends ModuleLevelBuilder> moduleLevelBuilders = service.createModuleLevelBuilders();
|
||||
for (ModuleLevelBuilder builder : moduleLevelBuilders) {
|
||||
myModuleLevelBuilders.get(builder.getCategory()).add(builder);
|
||||
}
|
||||
@@ -73,9 +63,4 @@ public class BuilderRegistry {
|
||||
public List<ProjectLevelBuilder> getProjectLevelBuilders() {
|
||||
return myProjectLevelBuilders;
|
||||
}
|
||||
|
||||
public void shutdown() {
|
||||
myTasksExecutor.shutdown();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<? extends ModuleLevelBuilder> createModuleLevelBuilders(ExecutorService executorService) {
|
||||
public List<? extends ModuleLevelBuilder> createModuleLevelBuilders() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
|
||||
@@ -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<? extends ModuleLevelBuilder> createModuleLevelBuilders(ExecutorService executorService) {
|
||||
return Arrays.asList(new JavaBuilder(executorService), new ResourcesBuilder());
|
||||
public List<? extends ModuleLevelBuilder> createModuleLevelBuilders() {
|
||||
return Arrays.asList(new JavaBuilder(SharedThreadPool.INSTANCE), new ResourcesBuilder());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.*;
|
||||
*/
|
||||
public class Utils {
|
||||
public static final Key<Map<String, Collection<String>>> 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() {
|
||||
}
|
||||
|
||||
@@ -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<Callbacks.Backend> 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<ClassPostProcessor> myClassProcessors = new ArrayList<ClassPostProcessor>();
|
||||
|
||||
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();
|
||||
|
||||
@@ -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<? extends ModuleLevelBuilder> createModuleLevelBuilders(ExecutorService executorService) {
|
||||
public List<? extends ModuleLevelBuilder> createModuleLevelBuilders() {
|
||||
return Arrays.asList(new AndroidSourceGeneratingBuilder(),
|
||||
new AndroidLibraryPackagingBuilder());
|
||||
}
|
||||
|
||||
+1
-2
@@ -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<? extends ModuleLevelBuilder> createModuleLevelBuilders(ExecutorService executorService) {
|
||||
public List<? extends ModuleLevelBuilder> createModuleLevelBuilders() {
|
||||
return Arrays.asList(new GroovyBuilder(true),
|
||||
new GroovyBuilder(false));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user