From bebfd609d56a00e368df79f1985f54f1105e102e Mon Sep 17 00:00:00 2001 From: Nikolay Chashnikov Date: Mon, 9 Sep 2024 11:05:47 +0200 Subject: [PATCH] [guiForms jps] refactoring: extract tests from intellij.java.guiForms.jps to a separate module 'intellij.java.guiForms.jps' is added to dependencies of the build scripts modules (to allow compiling GUI forms in the build), and if tests are located in that module, test dependencies of 'intellij.java.guiForms.jps' are included in the classpath of all modules with tests for build scripts. Because of that, for example, 'intellij.idea.ultimate.build.test' had 'intellij.java.impl' in its classpath, so when a necessary dependency (on jaxb libraries) was removed from the build script modules, 'IdeaUltimateBuildTest' didn't find that because that dependency came to its classpath via 'intellij.java.impl' module, and we got a critical problem (see IDEA-358889). Now tests of 'intellij.java.guiForms.jps' are extracted to a separate module, so their dependencies aren't included in tests for build scripts. GitOrigin-RevId: be6e794c5a872e1bac05cdb78822616828205fcc --- .idea/modules.xml | 1 + intellij.idea.community.main.iml | 1 + .../jps-plugin/intellij.java.guiForms.jps.iml | 5 ----- .../tests/intellij.java.guiForms.jps.tests.iml | 18 ++++++++++++++++++ .../build/alienFormFile/aa/NewJPanel.form | 0 .../build/alienFormFile/aa/NewJPanel.java | 0 .../testData/build/simple/xxx/Constants.java | 0 .../testData/build/simple/xxx/MyClass.java | 0 .../testData/build/simple/xxx/MyForm.form | 0 .../testData/build/simple/xxx/MyForm.java | 0 .../testData/uiDesigner/.idea/misc.xml | 0 .../testData/uiDesigner/.idea/modules.xml | 0 .../testData/uiDesigner/.idea/uiDesigner.xml | 0 .../jps/uiDesigner/build/FormsBuilderTest.java | 4 ++-- .../build/FormsIncrementalBuildingTest.java | 0 ...DesignerConfigurationSerializationTest.java | 2 +- 16 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 plugins/ui-designer/jps-plugin/tests/intellij.java.guiForms.jps.tests.iml rename plugins/ui-designer/jps-plugin/{ => tests}/testData/build/alienFormFile/aa/NewJPanel.form (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testData/build/alienFormFile/aa/NewJPanel.java (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testData/build/simple/xxx/Constants.java (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testData/build/simple/xxx/MyClass.java (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testData/build/simple/xxx/MyForm.form (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testData/build/simple/xxx/MyForm.java (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testData/uiDesigner/.idea/misc.xml (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testData/uiDesigner/.idea/modules.xml (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testData/uiDesigner/.idea/uiDesigner.xml (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testSrc/org/jetbrains/jps/uiDesigner/build/FormsBuilderTest.java (98%) rename plugins/ui-designer/jps-plugin/{ => tests}/testSrc/org/jetbrains/jps/uiDesigner/build/FormsIncrementalBuildingTest.java (100%) rename plugins/ui-designer/jps-plugin/{ => tests}/testSrc/org/jetbrains/jps/uiDesigner/model/JpsUiDesignerConfigurationSerializationTest.java (94%) diff --git a/.idea/modules.xml b/.idea/modules.xml index fd2fef81da73..d0079e072722 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -438,6 +438,7 @@ + diff --git a/intellij.idea.community.main.iml b/intellij.idea.community.main.iml index 9323cb36f26a..3d4cd152952f 100644 --- a/intellij.idea.community.main.iml +++ b/intellij.idea.community.main.iml @@ -210,6 +210,7 @@ + diff --git a/plugins/ui-designer/jps-plugin/intellij.java.guiForms.jps.iml b/plugins/ui-designer/jps-plugin/intellij.java.guiForms.jps.iml index 859e9880cbd7..900a694c5bb5 100644 --- a/plugins/ui-designer/jps-plugin/intellij.java.guiForms.jps.iml +++ b/plugins/ui-designer/jps-plugin/intellij.java.guiForms.jps.iml @@ -20,23 +20,18 @@ - - - - - \ No newline at end of file diff --git a/plugins/ui-designer/jps-plugin/tests/intellij.java.guiForms.jps.tests.iml b/plugins/ui-designer/jps-plugin/tests/intellij.java.guiForms.jps.tests.iml new file mode 100644 index 000000000000..cdb8c3b5f132 --- /dev/null +++ b/plugins/ui-designer/jps-plugin/tests/intellij.java.guiForms.jps.tests.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/ui-designer/jps-plugin/testData/build/alienFormFile/aa/NewJPanel.form b/plugins/ui-designer/jps-plugin/tests/testData/build/alienFormFile/aa/NewJPanel.form similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/build/alienFormFile/aa/NewJPanel.form rename to plugins/ui-designer/jps-plugin/tests/testData/build/alienFormFile/aa/NewJPanel.form diff --git a/plugins/ui-designer/jps-plugin/testData/build/alienFormFile/aa/NewJPanel.java b/plugins/ui-designer/jps-plugin/tests/testData/build/alienFormFile/aa/NewJPanel.java similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/build/alienFormFile/aa/NewJPanel.java rename to plugins/ui-designer/jps-plugin/tests/testData/build/alienFormFile/aa/NewJPanel.java diff --git a/plugins/ui-designer/jps-plugin/testData/build/simple/xxx/Constants.java b/plugins/ui-designer/jps-plugin/tests/testData/build/simple/xxx/Constants.java similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/build/simple/xxx/Constants.java rename to plugins/ui-designer/jps-plugin/tests/testData/build/simple/xxx/Constants.java diff --git a/plugins/ui-designer/jps-plugin/testData/build/simple/xxx/MyClass.java b/plugins/ui-designer/jps-plugin/tests/testData/build/simple/xxx/MyClass.java similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/build/simple/xxx/MyClass.java rename to plugins/ui-designer/jps-plugin/tests/testData/build/simple/xxx/MyClass.java diff --git a/plugins/ui-designer/jps-plugin/testData/build/simple/xxx/MyForm.form b/plugins/ui-designer/jps-plugin/tests/testData/build/simple/xxx/MyForm.form similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/build/simple/xxx/MyForm.form rename to plugins/ui-designer/jps-plugin/tests/testData/build/simple/xxx/MyForm.form diff --git a/plugins/ui-designer/jps-plugin/testData/build/simple/xxx/MyForm.java b/plugins/ui-designer/jps-plugin/tests/testData/build/simple/xxx/MyForm.java similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/build/simple/xxx/MyForm.java rename to plugins/ui-designer/jps-plugin/tests/testData/build/simple/xxx/MyForm.java diff --git a/plugins/ui-designer/jps-plugin/testData/uiDesigner/.idea/misc.xml b/plugins/ui-designer/jps-plugin/tests/testData/uiDesigner/.idea/misc.xml similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/uiDesigner/.idea/misc.xml rename to plugins/ui-designer/jps-plugin/tests/testData/uiDesigner/.idea/misc.xml diff --git a/plugins/ui-designer/jps-plugin/testData/uiDesigner/.idea/modules.xml b/plugins/ui-designer/jps-plugin/tests/testData/uiDesigner/.idea/modules.xml similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/uiDesigner/.idea/modules.xml rename to plugins/ui-designer/jps-plugin/tests/testData/uiDesigner/.idea/modules.xml diff --git a/plugins/ui-designer/jps-plugin/testData/uiDesigner/.idea/uiDesigner.xml b/plugins/ui-designer/jps-plugin/tests/testData/uiDesigner/.idea/uiDesigner.xml similarity index 100% rename from plugins/ui-designer/jps-plugin/testData/uiDesigner/.idea/uiDesigner.xml rename to plugins/ui-designer/jps-plugin/tests/testData/uiDesigner/.idea/uiDesigner.xml diff --git a/plugins/ui-designer/jps-plugin/testSrc/org/jetbrains/jps/uiDesigner/build/FormsBuilderTest.java b/plugins/ui-designer/jps-plugin/tests/testSrc/org/jetbrains/jps/uiDesigner/build/FormsBuilderTest.java similarity index 98% rename from plugins/ui-designer/jps-plugin/testSrc/org/jetbrains/jps/uiDesigner/build/FormsBuilderTest.java rename to plugins/ui-designer/jps-plugin/tests/testSrc/org/jetbrains/jps/uiDesigner/build/FormsBuilderTest.java index c8fa02083c04..1726ccd38374 100644 --- a/plugins/ui-designer/jps-plugin/testSrc/org/jetbrains/jps/uiDesigner/build/FormsBuilderTest.java +++ b/plugins/ui-designer/jps-plugin/tests/testSrc/org/jetbrains/jps/uiDesigner/build/FormsBuilderTest.java @@ -34,7 +34,7 @@ import java.io.File; import java.io.IOException; public class FormsBuilderTest extends JpsBuildTestCase { - private static final String SIMPLE_FORM_PATH = "plugins/ui-designer/jps-plugin/testData/build/simple"; + private static final String SIMPLE_FORM_PATH = "plugins/ui-designer/jps-plugin/tests/testData/build/simple"; public void testSimple() { JpsModule m = addModule("m", copyToProject(SIMPLE_FORM_PATH, "src")); @@ -98,7 +98,7 @@ public class FormsBuilderTest extends JpsBuildTestCase { } public void testDoNotCopyRuntimeClassesIfOnlyAlienFormFilesExist() { - JpsModule module = addModule("m", copyToProject("plugins/ui-designer/jps-plugin/testData/build/alienFormFile", "src")); + JpsModule module = addModule("m", copyToProject("plugins/ui-designer/jps-plugin/tests/testData/build/alienFormFile", "src")); buildAllModules().assertSuccessful(); assertFalse(isRuntimeClassesCopied(module)); } diff --git a/plugins/ui-designer/jps-plugin/testSrc/org/jetbrains/jps/uiDesigner/build/FormsIncrementalBuildingTest.java b/plugins/ui-designer/jps-plugin/tests/testSrc/org/jetbrains/jps/uiDesigner/build/FormsIncrementalBuildingTest.java similarity index 100% rename from plugins/ui-designer/jps-plugin/testSrc/org/jetbrains/jps/uiDesigner/build/FormsIncrementalBuildingTest.java rename to plugins/ui-designer/jps-plugin/tests/testSrc/org/jetbrains/jps/uiDesigner/build/FormsIncrementalBuildingTest.java diff --git a/plugins/ui-designer/jps-plugin/testSrc/org/jetbrains/jps/uiDesigner/model/JpsUiDesignerConfigurationSerializationTest.java b/plugins/ui-designer/jps-plugin/tests/testSrc/org/jetbrains/jps/uiDesigner/model/JpsUiDesignerConfigurationSerializationTest.java similarity index 94% rename from plugins/ui-designer/jps-plugin/testSrc/org/jetbrains/jps/uiDesigner/model/JpsUiDesignerConfigurationSerializationTest.java rename to plugins/ui-designer/jps-plugin/tests/testSrc/org/jetbrains/jps/uiDesigner/model/JpsUiDesignerConfigurationSerializationTest.java index d016e6588ae0..d55b88589b0f 100644 --- a/plugins/ui-designer/jps-plugin/testSrc/org/jetbrains/jps/uiDesigner/model/JpsUiDesignerConfigurationSerializationTest.java +++ b/plugins/ui-designer/jps-plugin/tests/testSrc/org/jetbrains/jps/uiDesigner/model/JpsUiDesignerConfigurationSerializationTest.java @@ -24,7 +24,7 @@ import static org.junit.jupiter.api.Assertions.*; public class JpsUiDesignerConfigurationSerializationTest { @Test public void testLoad() { - JpsProjectData projectData = JpsProjectData.loadFromTestData("plugins/ui-designer/jps-plugin/testData/uiDesigner", getClass()); + JpsProjectData projectData = JpsProjectData.loadFromTestData("plugins/ui-designer/jps-plugin/tests/testData/uiDesigner", getClass()); JpsProject project = projectData.getProject(); JpsUiDesignerConfiguration configuration = JpsUiDesignerExtensionService.getInstance().getUiDesignerConfiguration(project); assertNotNull(configuration);