From a7e93ea1d14fdbb182a380302bb9d8f6c76e66ba Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Mon, 25 May 2020 19:52:15 +0200 Subject: [PATCH] 'unknown' source root type, IDEA-CR-62863 review follow-up (IDEA-235292) GitOrigin-RevId: ac27d18035894c847822e535787fae9927a8563f --- .../roots/ModuleRootsExternalizationTest.java | 28 ------------------- .../roots/SourceRootPropertiesTest.java | 9 ------ .../model/module/UnknownSourceRootType.java | 10 +++---- .../module/JpsModuleRootModelSerializer.java | 5 ++-- ...UnknownSourceRootPropertiesSerializer.java | 4 +-- .../jps/impl/JpsIdePluginManagerImpl.java | 4 +-- .../workspace/jps/LegacyBridgeModulesTest.kt | 2 +- .../module/ContentFolderViaTypedEntity.kt | 2 +- 8 files changed, 12 insertions(+), 52 deletions(-) delete mode 100644 java/java-tests/testSrc/com/intellij/roots/SourceRootPropertiesTest.java diff --git a/java/java-tests/testSrc/com/intellij/roots/ModuleRootsExternalizationTest.java b/java/java-tests/testSrc/com/intellij/roots/ModuleRootsExternalizationTest.java index 42a595e46af3..63a2ea9db5ae 100644 --- a/java/java-tests/testSrc/com/intellij/roots/ModuleRootsExternalizationTest.java +++ b/java/java-tests/testSrc/com/intellij/roots/ModuleRootsExternalizationTest.java @@ -370,32 +370,4 @@ public class ModuleRootsExternalizationTest extends JavaModuleTestCase { final String substituted = map.substitute(path, false); assertEquals(path, substituted); } - - //public void testLoadRegisteredSaveUnknown() { - // - // Element loadedXml = new Element(JpsModuleRootModelSerializer.SOURCE_FOLDER_TAG); - // loadedXml.setAttribute(JpsModuleRootModelSerializer.PACKAGE_PREFIX_ATTRIBUTE, "package-prefix"); - // loadedXml.setAttribute(JpsJavaModelSerializerExtension.IS_GENERATED_ATTRIBUTE, Boolean.TRUE.toString()); - // - // JpsElementFactory.getInstance().createModuleSourceRoot("file://someFile", JavaSourceRootType.SOURCE, JpsJavaExtensionService.getInstance().createSourceRootProperties("package_prefix", true)); - // - // JpsModuleSourceRootPropertiesSerializer javaSerializer = null; - // for (JpsModelSerializerExtension ext : JpsModelSerializerExtension.getExtensions()) { - // javaSerializer = ext.getModuleSourceRootPropertiesSerializers().stream().filter(serializer -> JavaSourceRootType.SOURCE.equals(serializer.getType())).findFirst().orElse(null); - // if (javaSerializer != null) { - // break; - // } - // } - // assertNotNull(javaSerializer); - // - // //JavaSourceRootProperties properties = JpsJavaExtensionService.getInstance().createSourceRootProperties("package_prefix", true); - // - // JpsElement javaProperties = javaSerializer.loadProperties(loadedXml); - // - // UnknownSourceRootPropertiesSerializer unknownTypeSerializer = - // UnknownSourceRootPropertiesSerializer.forType(javaSerializer.getTypeId(), JavaSourceRootType.SOURCE.isForTests()); - // - // Element savedXml = new Element(JpsModuleRootModelSerializer.SOURCE_FOLDER_TAG); - // //unknownTypeSerializer.saveProperties(); - //} } diff --git a/java/java-tests/testSrc/com/intellij/roots/SourceRootPropertiesTest.java b/java/java-tests/testSrc/com/intellij/roots/SourceRootPropertiesTest.java deleted file mode 100644 index 462e1b4cd499..000000000000 --- a/java/java-tests/testSrc/com/intellij/roots/SourceRootPropertiesTest.java +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package com.intellij.roots; - -import junit.framework.TestCase; - -public class SourceRootPropertiesTest extends TestCase { - - -} diff --git a/jps/model-api/src/org/jetbrains/jps/model/module/UnknownSourceRootType.java b/jps/model-api/src/org/jetbrains/jps/model/module/UnknownSourceRootType.java index 191694795168..6a0f62e54e91 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/module/UnknownSourceRootType.java +++ b/jps/model-api/src/org/jetbrains/jps/model/module/UnknownSourceRootType.java @@ -10,11 +10,9 @@ import java.util.concurrent.ConcurrentHashMap; public class UnknownSourceRootType extends JpsElementTypeBase> implements JpsModuleSourceRootType> { private static final Map ourTypeNameToInstanceMap = new ConcurrentHashMap<>(); private final String myUnknownTypeId; - private final boolean myForTests; - private UnknownSourceRootType(String unknownTypeId, boolean forTests) { + private UnknownSourceRootType(String unknownTypeId) { myUnknownTypeId = unknownTypeId; - myForTests = forTests; } public String getUnknownTypeId() { @@ -23,7 +21,7 @@ public class UnknownSourceRootType extends JpsElementTypeBase(null); } - public static UnknownSourceRootType getInstance(String typeId, boolean forTests) { - return ourTypeNameToInstanceMap.computeIfAbsent((forTests? "tst:" : "src:") + typeId, id -> new UnknownSourceRootType(typeId, forTests)); + public static UnknownSourceRootType getInstance(String typeId) { + return ourTypeNameToInstanceMap.computeIfAbsent(typeId, id -> new UnknownSourceRootType(id)); } } diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java index e1fba4fecd75..3b90606c31d2 100644 --- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java +++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/JpsModuleRootModelSerializer.java @@ -177,9 +177,8 @@ public class JpsModuleRootModelSerializer { @NotNull private static JpsModuleSourceRootPropertiesSerializer getSourceRootPropertiesSerializer(@NotNull Element sourceElement) { String typeAttribute = sourceElement.getAttributeValue(SOURCE_ROOT_TYPE_ATTRIBUTE); - boolean forTests = Boolean.parseBoolean(sourceElement.getAttributeValue(IS_TEST_SOURCE_ATTRIBUTE)); if (typeAttribute == null) { - typeAttribute = forTests ? JAVA_TEST_ROOT_TYPE_ID : JAVA_SOURCE_ROOT_TYPE_ID; + typeAttribute = Boolean.parseBoolean(sourceElement.getAttributeValue(IS_TEST_SOURCE_ATTRIBUTE))? JAVA_TEST_ROOT_TYPE_ID : JAVA_SOURCE_ROOT_TYPE_ID; } for (JpsModelSerializerExtension extension : JpsModelSerializerExtension.getExtensions()) { for (JpsModuleSourceRootPropertiesSerializer serializer : extension.getModuleSourceRootPropertiesSerializers()) { @@ -189,7 +188,7 @@ public class JpsModuleRootModelSerializer { } } LOG.warn("Unknown module source root type " + typeAttribute); - return UnknownSourceRootPropertiesSerializer.forType(UnknownSourceRootType.getInstance(typeAttribute, forTests)); + return UnknownSourceRootPropertiesSerializer.forType(UnknownSourceRootType.getInstance(typeAttribute)); } public static void saveRootModel(JpsModule module, Element rootModelElement) { diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/UnknownSourceRootPropertiesSerializer.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/UnknownSourceRootPropertiesSerializer.java index 1eccc5f860fc..2834bdeea19b 100644 --- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/UnknownSourceRootPropertiesSerializer.java +++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/module/UnknownSourceRootPropertiesSerializer.java @@ -25,8 +25,8 @@ public class UnknownSourceRootPropertiesSerializer extends JpsModuleSourceRootPr } } - public static UnknownSourceRootPropertiesSerializer forType(String unknownTypeId, boolean isTests) { - return forType(UnknownSourceRootType.getInstance(unknownTypeId, isTests)); + public static UnknownSourceRootPropertiesSerializer forType(String unknownTypeId) { + return forType(UnknownSourceRootType.getInstance(unknownTypeId)); } @NotNull diff --git a/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java b/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java index 52bc551d9246..9765ac75bf34 100644 --- a/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java @@ -46,7 +46,7 @@ public final class JpsIdePluginManagerImpl extends JpsPluginManager { //todo[nik] get rid of this check: currently this class is used in intellij.platform.jps.build tests instead of JpsPluginManagerImpl because intellij.platform.ide.impl module is added to classpath via testFramework if (rootArea.hasExtensionPoint(JpsPluginBean.EP_NAME)) { final Ref initial = new Ref<>(Boolean.TRUE); - JpsPluginBean.EP_NAME.getPoint(null).addExtensionPointListener(new ExtensionPointListener() { + JpsPluginBean.EP_NAME.getPoint().addExtensionPointListener(new ExtensionPointListener() { @Override public void extensionAdded(@NotNull JpsPluginBean extension, @NotNull PluginDescriptor pluginDescriptor) { if (initial.get()) { @@ -162,7 +162,7 @@ public final class JpsIdePluginManagerImpl extends JpsPluginManager { if (removedSerializer != null) { changeType( folder, - UnknownSourceRootPropertiesSerializer.forType(removedSerializer.getTypeId(), folder.getRootType().isForTests()), + UnknownSourceRootPropertiesSerializer.forType(removedSerializer.getTypeId()), serializeProperties(folder, removedSerializer) ); shouldCommit = true; diff --git a/platform/workspaceModel-ide-tests/testSrc/com/intellij/workspace/jps/LegacyBridgeModulesTest.kt b/platform/workspaceModel-ide-tests/testSrc/com/intellij/workspace/jps/LegacyBridgeModulesTest.kt index 335d3209fbea..20c93e3eeffb 100644 --- a/platform/workspaceModel-ide-tests/testSrc/com/intellij/workspace/jps/LegacyBridgeModulesTest.kt +++ b/platform/workspaceModel-ide-tests/testSrc/com/intellij/workspace/jps/LegacyBridgeModulesTest.kt @@ -520,7 +520,7 @@ class LegacyBridgeModulesTest { val contentEntry = ModuleRootManager.getInstance(module).contentEntries.single() val sourceFolder = contentEntry.sourceFolders.single() - assertSame(UnknownSourceRootType.getInstance("unsupported-custom-source-root-type", false), sourceFolder.rootType) + assertSame(UnknownSourceRootType.getInstance("unsupported-custom-source-root-type"), sourceFolder.rootType) assertTrue(sourceFolder.jpsElement.properties is UnknownSourceRootTypeProperties<*>) val customRoot = WorkspaceModel.getInstance(project).entityStore.current.entities(CustomSourceRootPropertiesEntity::class.java) diff --git a/platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/typedModel/module/ContentFolderViaTypedEntity.kt b/platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/typedModel/module/ContentFolderViaTypedEntity.kt index c31f07cba3cf..44c76f8de948 100644 --- a/platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/typedModel/module/ContentFolderViaTypedEntity.kt +++ b/platform/workspaceModel-ide/src/com/intellij/workspace/legacyBridge/typedModel/module/ContentFolderViaTypedEntity.kt @@ -160,7 +160,7 @@ internal class SourceFolderViaTypedEntity(private val entry: ContentEntryViaType if (it.typeId == entity.rootType) return it.type } } - return UnknownSourceRootType.getInstance(entity.rootType, entity.tests) + return UnknownSourceRootType.getInstance(entity.rootType) } companion object {