extends Defaul
/**
* Registers given change within the given node assuming that it is
- * {@link GradleTextAttributes#GRADLE_CHANGE_CONFLICT 'conflict change'}. We need to track number of such changes per-node because
+ * {@link GradleTextAttributes#CHANGE_CONFLICT 'conflict change'}. We need to track number of such changes per-node because
* of the following possible situation:
*
*
@@ -199,7 +199,7 @@ public class GradleProjectStructureNode extends Defaul
final TextAttributesKey key = myDescriptor.getAttributes();
boolean localNode = key == GradleTextAttributes.GRADLE_LOCAL_CHANGE || key == GradleTextAttributes.INTELLIJ_LOCAL_CHANGE;
if (!localNode) {
- myDescriptor.setAttributes(GradleTextAttributes.GRADLE_CHANGE_CONFLICT);
+ myDescriptor.setAttributes(GradleTextAttributes.CHANGE_CONFLICT);
onNodeChanged(this);
}
}
@@ -212,7 +212,7 @@ public class GradleProjectStructureNode extends Defaul
public void removeConflictChange(@NotNull GradleProjectStructureChange change) {
myConflictChanges.remove(change);
if (myConflictChanges.isEmpty()) {
- myDescriptor.setAttributes(GradleTextAttributes.GRADLE_NO_CHANGE);
+ myDescriptor.setAttributes(GradleTextAttributes.NO_CHANGE);
onNodeChanged(this);
}
}
diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/ui/GradleProjectStructureNodeDescriptor.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/ui/GradleProjectStructureNodeDescriptor.java
index b983ce7b658c..cf16ddfb7da6 100644
--- a/plugins/gradle/src/org/jetbrains/plugins/gradle/ui/GradleProjectStructureNodeDescriptor.java
+++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/ui/GradleProjectStructureNodeDescriptor.java
@@ -22,7 +22,7 @@ import javax.swing.*;
*/
public class GradleProjectStructureNodeDescriptor extends PresentableNodeDescriptor {
- private TextAttributesKey myAttributes = GradleTextAttributes.GRADLE_NO_CHANGE;
+ private TextAttributesKey myAttributes = GradleTextAttributes.NO_CHANGE;
private final T myId;
@@ -63,10 +63,14 @@ public class GradleProjectStructureNodeDescriptor exte
if (attributes == GradleTextAttributes.GRADLE_LOCAL_CHANGE) {
owner = GradleEntityOwner.GRADLE;
}
- else if (attributes == GradleTextAttributes.GRADLE_NO_CHANGE || attributes == GradleTextAttributes.INTELLIJ_LOCAL_CHANGE) {
+ else if (attributes == GradleTextAttributes.NO_CHANGE || attributes == GradleTextAttributes.INTELLIJ_LOCAL_CHANGE) {
owner = GradleEntityOwner.INTELLIJ;
}
myId.setOwner(owner);
update();
}
+
+ public void setToolTip(@NotNull String text) {
+ getTemplatePresentation().setTooltip(text);
+ }
}
\ No newline at end of file
diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesModelTest.groovy b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesModelTest.groovy
index 355143d908e3..ded1d7efe92f 100644
--- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesModelTest.groovy
+++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/sync/GradleProjectStructureChangesModelTest.groovy
@@ -552,8 +552,7 @@ public class GradleProjectStructureChangesModelTest extends AbstractGradleTest {
} } } }
}
- // TODO den uncomment
- //@Test
+ @Test
public void "local content root importing"() {
init(
gradle: {
@@ -571,8 +570,8 @@ public class GradleProjectStructureChangesModelTest extends AbstractGradleTest {
)
checkChanges {
presence {
- contentRoot(gradle: gradle.contentRoots.values().find { it.rootPath == '1' })
- contentRoot(intellij: intellij.contentRoots.values().find { it.file.path == '3' })
+ contentRoot(gradle: gradle.contentRoots.values().flatten().find { it.rootPath.endsWith('1') })
+ contentRoot(intellij: intellij.contentRoots.values().flatten().find { it.file.path.endsWith('3') })
} }
checkTree {
project {
@@ -581,5 +580,23 @@ public class GradleProjectStructureChangesModelTest extends AbstractGradleTest {
"content-root:2"()
"content-root:3"('intellij')
} } }
+
+ // Import local content roots.
+ Closure projectState = {
+ project {
+ module {
+ contentRoot('1')
+ contentRoot('2')
+ contentRoot('3')
+ } } }
+ setState(intellij: projectState, gradle: projectState)
+ checkChanges { } // No changes
+ checkTree {
+ project {
+ module {
+ "content-root:1"()
+ "content-root:2"()
+ "content-root:3"()
+ } } }
}
}
diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/AbstractGradleTest.groovy b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/AbstractGradleTest.groovy
index 7d2bba43708c..895bef7eed6d 100644
--- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/AbstractGradleTest.groovy
+++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/AbstractGradleTest.groovy
@@ -44,6 +44,7 @@ public abstract class AbstractGradleTest {
container.registerComponentImplementation(GradleProjectStructureHelper)
container.registerComponentImplementation(GradleStructureChangesCalculator, GradleProjectStructureChangesCalculator)
container.registerComponentImplementation(GradleModuleStructureChangesCalculator)
+ container.registerComponentImplementation(GradleContentRootStructureChangesCalculator)
container.registerComponentImplementation(GradleModuleDependencyStructureChangesCalculator)
container.registerComponentImplementation(GradleLibraryDependencyStructureChangesCalculator)
container.registerComponentImplementation(GradleLibraryStructureChangesCalculator)
diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/AbstractProjectBuilder.groovy b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/AbstractProjectBuilder.groovy
index 74749744ae00..263985fd29ad 100644
--- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/AbstractProjectBuilder.groovy
+++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/AbstractProjectBuilder.groovy
@@ -130,6 +130,6 @@ public abstract class AbstractProjectBuilder extends BuilderSupport {
private def clear() {
reset()
- [modules, libraryDependencies, libraries, moduleDependencies]*.clear()
+ [modules, contentRoots, libraryDependencies, libraries, moduleDependencies]*.clear()
}
}
diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/GradleProjectBuilder.groovy b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/GradleProjectBuilder.groovy
index a57ec86d86c5..e3b0ccb32c57 100644
--- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/GradleProjectBuilder.groovy
+++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/GradleProjectBuilder.groovy
@@ -72,6 +72,6 @@ class GradleProjectBuilder extends AbstractProjectBuilder {
@Override
protected reset() {
- modulesCache.values().each { it.clearDependencies() }
+ modulesCache.values().each { it.clearDependencies(); it.clearContentRoots() }
}
}
diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/IntellijProjectBuilder.groovy b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/IntellijProjectBuilder.groovy
index 4a1d27d5dd3a..a58243b8d38e 100644
--- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/IntellijProjectBuilder.groovy
+++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/IntellijProjectBuilder.groovy
@@ -60,7 +60,7 @@ class IntellijProjectBuilder extends AbstractProjectBuilder {
@Override
protected createContentRoot(module, rootPath, Map paths) {
- new ModuleAwareContentRoot(module, [:] as ContentEntry)
+ new ModuleAwareContentRoot(module, [ getFile: {asVirtualFile(rootPath)} ] as ContentEntry)
}
@Override
diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/ProjectStructureChecker.groovy b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/ProjectStructureChecker.groovy
index 4e2caf61aed5..b83162e61cb0 100644
--- a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/ProjectStructureChecker.groovy
+++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/testutil/ProjectStructureChecker.groovy
@@ -9,7 +9,7 @@ import org.junit.Assert
import static junit.framework.Assert.assertEquals
import static junit.framework.Assert.fail
import org.jetbrains.plugins.gradle.model.GradleEntityOwner
-import org.jetbrains.plugins.gradle.model.id.GradleEntityId
+
import org.jetbrains.plugins.gradle.model.GradleEntityType
/**
@@ -26,7 +26,7 @@ class ProjectStructureChecker {
static def COLORS = [
'gradle' : GradleTextAttributes.GRADLE_LOCAL_CHANGE,
'intellij' : GradleTextAttributes.INTELLIJ_LOCAL_CHANGE,
- 'conflict' : GradleTextAttributes.GRADLE_CHANGE_CONFLICT
+ 'conflict' : GradleTextAttributes.CHANGE_CONFLICT
]
def check(Node expected, DefaultMutableTreeNode actual) {
@@ -62,7 +62,7 @@ class ProjectStructureChecker {
}
def checkMarkup(Node node, GradleProjectStructureNodeDescriptor descriptor) {
- def expectedMarkup = COLORS[node.children().find {it instanceof CharSequence}]?: GradleTextAttributes.GRADLE_NO_CHANGE
+ def expectedMarkup = COLORS[node.children().find {it instanceof CharSequence}]?: GradleTextAttributes.NO_CHANGE
assertEquals("node '$descriptor'", expectedMarkup, descriptor.attributes)
if (descriptor.element.type != GradleEntityType.SYNTHETIC) {
diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ActivateTaskDialog.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ActivateTaskDialog.java
index 066628101f1f..0f736e68e697 100644
--- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ActivateTaskDialog.java
+++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/ActivateTaskDialog.java
@@ -179,7 +179,7 @@ public class ActivateTaskDialog extends DialogWrapper {
}
}
}
- myMarkAsInProgressBox.setSelected(myMarkAsInProgress && isMarkAsInProgressApplicable());
+ myMarkAsInProgressBox.setSelected(myMarkAsInProgress);
// refresh change lists
ChangeListManager changeListManager = ChangeListManager.getInstance(myProject);