diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.java index 2b3290c60e1e..87b098355777 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/GradleInstallationManager.java @@ -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 myCachedGradleHomeFromPath; public GradleInstallationManager(@NotNull PlatformFacade facade) { myPlatformFacade = facade; @@ -246,6 +248,10 @@ public class GradleInstallationManager { */ @Nullable public File getGradleHomeFromPath() { + Ref 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(candidate); return candidate; } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/util/GradleConstants.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/util/GradleConstants.java index 4ba711e19b66..4f498e85a588 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/util/GradleConstants.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/util/GradleConstants.java @@ -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 Gradle 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";