From ece9df8cb0d400094fc47241324e205e1b342323 Mon Sep 17 00:00:00 2001 From: "Denis.Zhdanov" Date: Thu, 15 Mar 2012 15:48:07 +0400 Subject: [PATCH] IDEA-76142: Gradle support - cannot update IDEA projects once one of build.gradle files changes Added ability to launch gradle api at the 'verbose' mode (activated by the 'gradle.api.verbose' system property --- .../remote/RemoteGradleProcessSettings.java | 18 +++++++++++++++--- .../remote/impl/GradleProjectResolverImpl.java | 4 ++++ .../GradleProjectStructureChangesPanel.java | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/remote/RemoteGradleProcessSettings.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/remote/RemoteGradleProcessSettings.java index 826988950428..3f67572335f3 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/remote/RemoteGradleProcessSettings.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/remote/RemoteGradleProcessSettings.java @@ -16,14 +16,18 @@ import java.io.Serializable; */ public class RemoteGradleProcessSettings implements Serializable { + private static final boolean USE_VERBOSE_GRADLE_API_BY_DEFAULT = Boolean.parseBoolean(System.getProperty("gradle.api.verbose")); + private static final long serialVersionUID = 1L; - private final String myGradleHome; - private long myTtlInMs; - private String myJavaHome; + private final String myGradleHome; + private long myTtlInMs; + private String myJavaHome; + private boolean myVerboseApi; public RemoteGradleProcessSettings(@NotNull String gradleHome) { myGradleHome = gradleHome; + setVerboseApi(USE_VERBOSE_GRADLE_API_BY_DEFAULT); } @NotNull @@ -51,6 +55,14 @@ public class RemoteGradleProcessSettings implements Serializable { myJavaHome = javaHome; } + public boolean isVerboseApi() { + return myVerboseApi; + } + + public void setVerboseApi(boolean verboseApi) { + myVerboseApi = verboseApi; + } + @Override public String toString() { return "home: " + myGradleHome; diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/remote/impl/GradleProjectResolverImpl.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/remote/impl/GradleProjectResolverImpl.java index 8764ece4961f..898d65f2bb24 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/remote/impl/GradleProjectResolverImpl.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/remote/impl/GradleProjectResolverImpl.java @@ -8,6 +8,7 @@ import com.intellij.util.PathUtil; import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.HashMap; import org.gradle.tooling.*; +import org.gradle.tooling.internal.consumer.DefaultGradleConnector; import org.gradle.tooling.model.DomainObjectSet; import org.gradle.tooling.model.idea.*; import org.jetbrains.annotations.NotNull; @@ -398,6 +399,9 @@ public class GradleProjectResolverImpl extends RemoteObject implements GradlePro RemoteGradleProcessSettings settings = mySettings.get(); if (settings != null) { connector.useInstallation(new File(settings.getGradleHome())); + if (settings.isVerboseApi() && connector instanceof DefaultGradleConnector) { + ((DefaultGradleConnector)connector).setVerboseLogging(true); + } } connector.forProjectDirectory(projectDir); ProjectConnection connection = connector.connect(); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java index 239e313cefd5..9837b71caf9d 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesPanel.java @@ -59,7 +59,7 @@ public class GradleProjectStructureChangesPanel extends GradleToolWindowPanel { private final Alarm myToolbarAppearanceAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); private final Alarm myToolbarTrackingAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); - private final Alarm myCollapseStateAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); + private final Alarm myCollapseStateAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); private final List myToolbarControls = new ArrayList(); /** Holds list of paths which 'expand/collapse' state should be restored. */