add read action

This commit is contained in:
Anna Kozlova
2005-02-08 22:39:24 +03:00
parent e277b9e465
commit 63a1228b71
+36 -29
View File
@@ -9,6 +9,8 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.util.Computable;
import com.intellij.util.ArrayUtil;
import org.jetbrains.idea.devkit.projectRoots.IdeaJdk;
import org.jetbrains.idea.devkit.projectRoots.Sandbox;
@@ -22,47 +24,52 @@ import java.util.ArrayList;
*/
public class PluginBuildUtil {
public static String getPluginExPath(Module module){
public static String getPluginExPath(Module module) {
final ProjectJdk jdk = ModuleRootManager.getInstance(module).getJdk();
if (jdk == null || ! (jdk.getSdkType() instanceof IdeaJdk)){
if (jdk == null || !(jdk.getSdkType() instanceof IdeaJdk)) {
return null;
}
return ((Sandbox)jdk.getSdkAdditionalData()).getSandboxHome() + "/plugins/" + module.getName();
}
public static void getDependencies(Module module, Set<Module> modules) {
if (modules.contains(module)) return;
Module[] dependencies = ModuleRootManager.getInstance(module).getDependencies();
for (int i = 0; i < dependencies.length; i++) {
Module dependency = dependencies[i];
if (dependency.getModuleType() == ModuleType.JAVA) {
modules.add(dependency);
getDependencies(dependency, modules);
}
if (modules.contains(module)) return;
Module[] dependencies = ModuleRootManager.getInstance(module).getDependencies();
for (int i = 0; i < dependencies.length; i++) {
Module dependency = dependencies[i];
if (dependency.getModuleType() == ModuleType.JAVA) {
modules.add(dependency);
getDependencies(dependency, modules);
}
}
public static Module [] getWrongSetDependencies(Module module){
ArrayList<Module> result = new ArrayList<Module>();
final Module[] projectModules = ModuleManager.getInstance(module.getProject()).getModules();
for(int i = 0; i < projectModules.length; i++){
if (ArrayUtil.find(ModuleRootManager.getInstance(projectModules[i]).getDependencies(), module) > -1){
result.add(projectModules[i]);
}
}
return result.toArray(new Module[result.size()]);
}
public static void getLibraries(Module module, Set<Library> libs) {
OrderEntry[] orderEntries = ModuleRootManager.getInstance(module).getOrderEntries();
for (int i = 0; i < orderEntries.length; i++) {
OrderEntry orderEntry = orderEntries[i];
if (orderEntry instanceof LibraryOrderEntry) {
LibraryOrderEntry libEntry = (LibraryOrderEntry)orderEntry;
Library lib = libEntry.getLibrary();
if (lib == null) continue;
libs.add(lib);
public static Module[] getWrongSetDependencies(final Module module) {
return ApplicationManager.getApplication().runReadAction(new Computable<Module[]>() {
public Module[] compute() {
ArrayList<Module> result = new ArrayList<Module>();
final Module[] projectModules = ModuleManager.getInstance(module.getProject()).getModules();
for (int i = 0; i < projectModules.length; i++) {
if (ArrayUtil.find(ModuleRootManager.getInstance(projectModules[i]).getDependencies(), module) > -1) {
result.add(projectModules[i]);
}
}
return result.toArray(new Module[result.size()]);
}
});
}
public static void getLibraries(Module module, Set<Library> libs) {
OrderEntry[] orderEntries = ModuleRootManager.getInstance(module).getOrderEntries();
for (int i = 0; i < orderEntries.length; i++) {
OrderEntry orderEntry = orderEntries[i];
if (orderEntry instanceof LibraryOrderEntry) {
LibraryOrderEntry libEntry = (LibraryOrderEntry)orderEntry;
Library lib = libEntry.getLibrary();
if (lib == null) continue;
libs.add(lib);
}
}
}
}