mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-110868 org.jetbrains.plugins.gradle.util.GradleInstallationManager.getGradleHomeFromPath() slows down editing
This commit is contained in:
@@ -6,6 +6,7 @@ import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.roots.OrderEnumerator;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.JarFileSystem;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -53,6 +54,7 @@ public class GradleInstallationManager {
|
||||
}
|
||||
|
||||
@NotNull private final PlatformFacade myPlatformFacade;
|
||||
@Nullable private Ref<File> myCachedGradleHomeFromPath;
|
||||
|
||||
public GradleInstallationManager(@NotNull PlatformFacade facade) {
|
||||
myPlatformFacade = facade;
|
||||
@@ -246,6 +248,10 @@ public class GradleInstallationManager {
|
||||
*/
|
||||
@Nullable
|
||||
public File getGradleHomeFromPath() {
|
||||
Ref<File> ref = myCachedGradleHomeFromPath;
|
||||
if (ref != null) {
|
||||
return ref.get();
|
||||
}
|
||||
String path = System.getenv("PATH");
|
||||
if (path == null) {
|
||||
return null;
|
||||
@@ -260,6 +266,7 @@ public class GradleInstallationManager {
|
||||
if (startFile.isFile()) {
|
||||
File candidate = dir.getParentFile();
|
||||
if (isGradleSdkHome(candidate)) {
|
||||
myCachedGradleHomeFromPath = new Ref<File>(candidate);
|
||||
return candidate;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* Holds object representation of icons used at the <code>Gradle</code> plugin.
|
||||
*
|
||||
@@ -21,10 +23,6 @@ public class GradleConstants {
|
||||
public static final String SYSTEM_DIRECTORY_PATH_KEY = "GRADLE_USER_HOME";
|
||||
|
||||
@NonNls public static final String TOOL_WINDOW_TOOLBAR_PLACE = "GRADLE_SYNC_CHANGES_TOOLBAR";
|
||||
@NonNls public static final String TASKS_LIST_PLACE = "TASKS_LIST_PLACE";
|
||||
@NonNls public static final String TASKS_CONTEXT_MENU_PLACE = "GRADLE_TASKS_CONTEXT_MENU_PLACE";
|
||||
|
||||
@NonNls public static final String ACTION_GROUP_TASKS = "Gradle.TasksGroup";
|
||||
|
||||
@NonNls public static final String HELP_TOPIC_TOOL_WINDOW = "reference.toolwindows.gradle";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user