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
This commit is contained in:
Denis.Zhdanov
2012-03-15 15:48:40 +04:00
parent 77b8bfdf40
commit ece9df8cb0
3 changed files with 20 additions and 4 deletions
@@ -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;
@@ -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();
@@ -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<JComponent> myToolbarControls = new ArrayList<JComponent>();
/** Holds list of paths which 'expand/collapse' state should be restored. */