mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[workspace model] IJPL-345 Introduce ModuleTypeId for ModuleEntity and remove the old class with the same name
GitOrigin-RevId: ac34862b4287f024b694b4da918208f73585982d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a1d4b59126
commit
bdecd1aaef
+2
-2
@@ -16,7 +16,6 @@ import com.intellij.openapi.diagnostic.ControlFlowException
|
||||
import com.intellij.openapi.diagnostic.logger
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.progress.ProgressIndicator
|
||||
import com.intellij.openapi.progress.Task
|
||||
import com.intellij.openapi.roots.*
|
||||
@@ -29,6 +28,7 @@ import com.intellij.psi.JavaDirectoryService
|
||||
import com.intellij.psi.PsiDirectory
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesUtil
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
import org.jetbrains.concurrency.AsyncPromise
|
||||
import org.jetbrains.concurrency.Promise
|
||||
@@ -127,7 +127,7 @@ class ExtractModuleFromPackageAction : AnAction() {
|
||||
}
|
||||
|
||||
val newModule = ModuleManager.getInstance(module.project).newModule(imlFileDirectory.resolve("$moduleName.iml"),
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
|
||||
ModuleRootModificationUtil.updateModel(newModule) { model ->
|
||||
if (ModuleRootManager.getInstance(module).isSdkInherited) {
|
||||
|
||||
@@ -19,5 +19,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.tests" exported="" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.tools.ide.metrics.benchmark" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.java.testFramework" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.java.impl" scope="TEST" />
|
||||
</component>
|
||||
</module>
|
||||
+3
-4
@@ -15,10 +15,11 @@
|
||||
*/
|
||||
package com.intellij;
|
||||
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
public class BasicDefaultLightProjectDescriptor extends LightProjectDescriptor {
|
||||
|
||||
public BasicDefaultLightProjectDescriptor() {
|
||||
@@ -26,8 +27,6 @@ public class BasicDefaultLightProjectDescriptor extends LightProjectDescriptor {
|
||||
|
||||
@Override
|
||||
public @NotNull String getModuleTypeId() {
|
||||
return ModuleTypeId.JAVA_MODULE;
|
||||
return JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+3
-2
@@ -6,12 +6,13 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.model.project.ModuleData;
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.ModuleDataServiceExtension;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.roots.LanguageLevelModuleExtension;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
/**
|
||||
* @deprecated duplicate behaviour with {@link com.intellij.externalSystem.JavaModuleDataService}
|
||||
*/
|
||||
@@ -22,7 +23,7 @@ public final class ModuleDataServiceJavaExtension implements ModuleDataServiceEx
|
||||
|
||||
@Override
|
||||
public void importModule(@NotNull IdeModifiableModelsProvider modelsProvider, @NotNull Module module, @NotNull ModuleData data) {
|
||||
if (ModuleTypeId.JAVA_MODULE.equals(module.getModuleTypeName())) {
|
||||
if (JAVA_MODULE_ENTITY_TYPE_ID_NAME.equals(module.getModuleTypeName())) {
|
||||
ModifiableRootModel modifiableRootModel = modelsProvider.getModifiableRootModel(module);
|
||||
setLanguageLevel(modifiableRootModel, data);
|
||||
|
||||
|
||||
@@ -17,17 +17,18 @@ import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
public class JavaModuleType extends ModuleType<JavaModuleBuilder> {
|
||||
public static ModuleType<?> getModuleType() {
|
||||
return ModuleTypeManager.getInstance().findByID(JAVA_MODULE);
|
||||
return ModuleTypeManager.getInstance().findByID(JAVA_MODULE_ENTITY_TYPE_ID_NAME);
|
||||
}
|
||||
|
||||
public static final String JAVA_GROUP = "Java";
|
||||
public static final String BUILD_TOOLS_GROUP = "Build Tools";
|
||||
private static final String JAVA_MODULE = ModuleTypeId.JAVA_MODULE;
|
||||
|
||||
public JavaModuleType() {
|
||||
this(JAVA_MODULE);
|
||||
this(JAVA_MODULE_ENTITY_TYPE_ID_NAME);
|
||||
}
|
||||
|
||||
protected JavaModuleType(@NonNls String id) {
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
@file:JvmName("JavaModuleTypeUtils")
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.workspaceModel.ide.legacyBridge.impl.java
|
||||
|
||||
import com.intellij.platform.workspace.jps.entities.ModuleTypeId
|
||||
|
||||
const val JAVA_MODULE_ENTITY_TYPE_ID_NAME = "JAVA_MODULE"
|
||||
|
||||
@JvmField
|
||||
val JAVA_MODULE_ENTITY_TYPE_ID = ModuleTypeId(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
+2
-2
@@ -20,12 +20,12 @@ import com.intellij.openapi.application.readAction
|
||||
import com.intellij.openapi.application.writeAction
|
||||
import com.intellij.openapi.module.JavaModuleType
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.testFramework.PsiTestUtil
|
||||
import com.intellij.testFramework.junit5.TestApplication
|
||||
import com.intellij.testFramework.rules.ProjectModelExtension
|
||||
import com.intellij.workspaceModel.ide.impl.legacyBridge.module.WEB_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
@@ -78,7 +78,7 @@ class CopyReferenceActionFilesTest {
|
||||
fun `reference to file under non-java source root must include path from content root`() = runBlocking {
|
||||
lateinit var file: VirtualFile
|
||||
writeAction {
|
||||
module.setModuleType(ModuleTypeId.WEB_MODULE)
|
||||
module.setModuleType(WEB_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
val sourceRoot = rootDir.createChildDirectory(this, "src")
|
||||
PsiTestUtil.addContentRoot(module, rootDir)
|
||||
PsiTestUtil.addSourceRoot(module, sourceRoot)
|
||||
|
||||
+2
-4
@@ -1,15 +1,13 @@
|
||||
// Copyright 2000-2021 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.java.psi.formatter.java;
|
||||
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.module.StdModuleTypes;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettings;
|
||||
import com.intellij.psi.formatter.FormatterTestCase;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
public abstract class JavaFormatterTestCase extends FormatterTestCase {
|
||||
@Override
|
||||
@@ -20,7 +18,7 @@ public abstract class JavaFormatterTestCase extends FormatterTestCase {
|
||||
@NotNull
|
||||
@Override
|
||||
protected String getModuleTypeId() {
|
||||
return ModuleTypeId.JAVA_MODULE;
|
||||
return JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,11 +15,12 @@
|
||||
*/
|
||||
package com.intellij.testFramework;
|
||||
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.psi.impl.JavaPsiFacadeEx;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
/**
|
||||
* A test case that provides IDEA application and project. Note both are reused for each test run in the session so
|
||||
* be careful to return all the modification made to application and project components (such as settings) after
|
||||
@@ -46,6 +47,6 @@ public abstract class LightIdeaTestCase extends LightPlatformTestCase {
|
||||
@NotNull
|
||||
@Override
|
||||
protected String getModuleTypeId() {
|
||||
return ModuleTypeId.JAVA_MODULE;
|
||||
return JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.intellij.testFramework;
|
||||
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
@@ -16,6 +15,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
/**
|
||||
* A TestCase for single PsiFile being opened in Editor conversion. See configureXXX and checkResultXXX method docs.
|
||||
*/
|
||||
@@ -103,6 +104,6 @@ public abstract class LightJavaCodeInsightTestCase extends LightPlatformCodeInsi
|
||||
@NotNull
|
||||
@Override
|
||||
protected String getModuleTypeId() {
|
||||
return ModuleTypeId.JAVA_MODULE;
|
||||
return JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -16,7 +16,6 @@
|
||||
package com.intellij.testFramework.fixtures;
|
||||
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.LanguageLevelModuleExtension;
|
||||
@@ -31,6 +30,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
public class DefaultLightProjectDescriptor extends LightProjectDescriptor {
|
||||
private static final String JETBRAINS_ANNOTATIONS_COORDINATES = "org.jetbrains:annotations-java5:24.0.0";
|
||||
private @Nullable Supplier<? extends Sdk> customSdk;
|
||||
@@ -52,7 +53,7 @@ public class DefaultLightProjectDescriptor extends LightProjectDescriptor {
|
||||
|
||||
@Override
|
||||
public @NotNull String getModuleTypeId() {
|
||||
return ModuleTypeId.JAVA_MODULE;
|
||||
return JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.testFramework.junit5" scope="TEST" />
|
||||
<orderEntry type="library" scope="TEST" name="kotlinx-serialization-json" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="kotlinx-serialization-core" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.java.impl" scope="TEST" />
|
||||
</component>
|
||||
<component name="TestModuleProperties" production-module="intellij.platform.configurationStore.impl" />
|
||||
</module>
|
||||
@@ -9,7 +9,6 @@ import com.intellij.openapi.components.StoragePathMacros
|
||||
import com.intellij.openapi.components.stateStore
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.roots.ModuleRootManager
|
||||
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
||||
import com.intellij.openapi.roots.ProjectRootManager
|
||||
@@ -23,6 +22,7 @@ import com.intellij.project.stateStore
|
||||
import com.intellij.testFramework.*
|
||||
import com.intellij.testFramework.assertions.Assertions.assertThat
|
||||
import com.intellij.util.io.Ksuid
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.runBlocking
|
||||
@@ -187,7 +187,7 @@ class ModuleStoreTest {
|
||||
// creating a persistent module to make non-empty valid modules.xml
|
||||
withContext(Dispatchers.EDT) {
|
||||
ApplicationManager.getApplication().runWriteAction {
|
||||
ModuleManager.getInstance(project).newModule(tempDirManager.newPath().resolve("persistent.iml"), ModuleTypeId.JAVA_MODULE)
|
||||
ModuleManager.getInstance(project).newModule(tempDirManager.newPath().resolve("persistent.iml"), JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
}
|
||||
}
|
||||
project.stateStore.save()
|
||||
@@ -201,7 +201,7 @@ class ModuleStoreTest {
|
||||
|
||||
|
||||
val module = writeAction {
|
||||
ModuleManager.getInstance(project).newNonPersistentModule(moduleName, ModuleTypeId.JAVA_MODULE)
|
||||
ModuleManager.getInstance(project).newNonPersistentModule(moduleName, JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
}
|
||||
withContext(Dispatchers.EDT) {
|
||||
SoftAssertions.assertSoftly {
|
||||
@@ -264,6 +264,6 @@ val Module.contentRootUrls: Array<String>
|
||||
internal suspend fun ProjectRule.createModule(path: Path): Module {
|
||||
val project = project
|
||||
return writeAction {
|
||||
ModuleManager.getInstance(project).newModule(path, ModuleTypeId.JAVA_MODULE)
|
||||
ModuleManager.getInstance(project).newModule(path, JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
}
|
||||
}
|
||||
|
||||
+1
@@ -12,5 +12,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.testFramework" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.util.io" />
|
||||
<orderEntry type="library" name="assertJ" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.java.impl" />
|
||||
</component>
|
||||
</module>
|
||||
+2
-2
@@ -6,8 +6,8 @@ import com.intellij.openapi.externalSystem.model.ProjectKeys
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId
|
||||
import com.intellij.openapi.externalSystem.model.project.*
|
||||
import com.intellij.platform.externalSystem.testFramework.ExternalSystemTestUtil.TEST_EXTERNAL_SYSTEM_ID
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.roots.DependencyScope
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import java.util.*
|
||||
|
||||
fun project(name: String = "project",
|
||||
@@ -125,7 +125,7 @@ class Module : NamedNode<ModuleData>("module") {
|
||||
props["moduleFileDirectoryPath"] = value
|
||||
}
|
||||
|
||||
val moduleData by lazy { ModuleData(name, systemId, ModuleTypeId.JAVA_MODULE, name, moduleFileDirectoryPath, externalProjectPath) }
|
||||
val moduleData by lazy { ModuleData(name, systemId, JAVA_MODULE_ENTITY_TYPE_ID_NAME, name, moduleFileDirectoryPath, externalProjectPath) }
|
||||
|
||||
fun module(name: String = "module",
|
||||
externalProjectPath: String,
|
||||
|
||||
+1
-2
@@ -21,7 +21,6 @@ import com.intellij.openapi.externalSystem.settings.AbstractExternalSystemLocalS
|
||||
import com.intellij.openapi.externalSystem.settings.ExternalProjectSettings;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil;
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemUtil;
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectUtil;
|
||||
@@ -362,7 +361,7 @@ public final class ExternalProjectsDataStorage extends SimpleModificationTracker
|
||||
for (ExternalProjectPojo childProject : childProjects) {
|
||||
String moduleConfigPath = childProject.getPath();
|
||||
ModuleData moduleData = new ModuleData(childProject.getName(), systemId,
|
||||
ModuleTypeId.JAVA_MODULE, childProject.getName(),
|
||||
"JAVA_MODULE", childProject.getName(),
|
||||
moduleConfigPath, moduleConfigPath);
|
||||
projectDataNode.createChild(MODULE, moduleData);
|
||||
}
|
||||
|
||||
+17
-17
@@ -25,7 +25,6 @@ import com.intellij.openapi.externalSystem.service.project.manage.ExternalProjec
|
||||
import com.intellij.openapi.module.EmptyModuleType
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.project.ExternalStorageConfigurationManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.project.doNotEnableExternalStorageByDefaultInTests
|
||||
@@ -58,6 +57,7 @@ import com.intellij.util.io.delete
|
||||
import com.intellij.util.io.directoryContentOf
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import com.intellij.workspaceModel.ide.impl.jps.serialization.JpsProjectModelSynchronizer
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -94,7 +94,7 @@ class ExternalSystemStorageTest {
|
||||
@Test
|
||||
fun `save single mavenized module`() = saveProjectInExternalStorageAndCheckResult("singleModule") { project, projectDir ->
|
||||
val module = ModuleManager.getInstance(project).newModule(projectDir.resolve("test.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
ModuleRootModificationUtil.addContentRoot(module, projectDir.invariantSeparatorsPathString)
|
||||
ExternalSystemModulePropertyManager.getInstance(module).setMavenized(true)
|
||||
}
|
||||
@@ -103,7 +103,7 @@ class ExternalSystemStorageTest {
|
||||
fun `load single mavenized module`() = loadProjectAndCheckResults("singleModule") { project ->
|
||||
val module = ModuleManager.getInstance(project).modules.single()
|
||||
assertThat(module.name).isEqualTo("test")
|
||||
assertThat(module.moduleTypeName).isEqualTo(ModuleTypeId.JAVA_MODULE)
|
||||
assertThat(module.moduleTypeName).isEqualTo(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
assertThat(module.moduleFilePath).isEqualTo("${project.basePath}/test.iml")
|
||||
assertThat(ExternalSystemModulePropertyManager.getInstance(module).isMavenized()).isTrue()
|
||||
assertThat(ExternalStorageConfigurationManager.getInstance(project).isEnabled).isTrue()
|
||||
@@ -113,7 +113,7 @@ class ExternalSystemStorageTest {
|
||||
fun `save single module from external system`() = saveProjectInExternalStorageAndCheckResult(
|
||||
"singleModuleFromExternalSystem") { project, projectDir ->
|
||||
val module = ModuleManager.getInstance(project).newModule(projectDir.resolve("test.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
ModuleRootModificationUtil.addContentRoot(module, projectDir.invariantSeparatorsPathString)
|
||||
setExternalSystemOptions(module, projectDir)
|
||||
}
|
||||
@@ -125,7 +125,7 @@ class ExternalSystemStorageTest {
|
||||
writeAction {
|
||||
val projectDir = project.stateStore.directoryStorePath!!.parent
|
||||
val module = ModuleManager.getInstance(project).newModule(projectDir.resolve("test.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
ModuleRootModificationUtil.addContentRoot(module, projectDir.invariantSeparatorsPathString)
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ class ExternalSystemStorageTest {
|
||||
fun `load single module from external system`() = loadProjectAndCheckResults("singleModuleFromExternalSystem") { project ->
|
||||
val module = ModuleManager.getInstance(project).modules.single()
|
||||
assertThat(module.name).isEqualTo("test")
|
||||
assertThat(module.moduleTypeName).isEqualTo(ModuleTypeId.JAVA_MODULE)
|
||||
assertThat(module.moduleTypeName).isEqualTo(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
assertThat(module.moduleFilePath).isEqualTo("${project.basePath}/test.iml")
|
||||
assertThat(ExternalSystemModulePropertyManager.getInstance(module).isMavenized()).isFalse()
|
||||
assertThat(ExternalStorageConfigurationManager.getInstance(project).isEnabled).isTrue()
|
||||
@@ -167,7 +167,7 @@ class ExternalSystemStorageTest {
|
||||
fun `save single module from external system in internal storage`() = saveProjectInInternalStorageAndCheckResult(
|
||||
"singleModuleFromExternalSystemInInternalStorage") { project, projectDir ->
|
||||
val module = ModuleManager.getInstance(project).newModule(projectDir.resolve("test.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
ModuleRootModificationUtil.addContentRoot(module, projectDir.invariantSeparatorsPathString)
|
||||
setExternalSystemOptions(module, projectDir)
|
||||
}
|
||||
@@ -177,7 +177,7 @@ class ExternalSystemStorageTest {
|
||||
"singleModuleFromExternalSystemInInternalStorage") { project ->
|
||||
val module = ModuleManager.getInstance(project).modules.single()
|
||||
assertThat(module.name).isEqualTo("test")
|
||||
assertThat(module.moduleTypeName).isEqualTo(ModuleTypeId.JAVA_MODULE)
|
||||
assertThat(module.moduleTypeName).isEqualTo(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
assertThat(module.moduleFilePath).isEqualTo("${project.basePath}/test.iml")
|
||||
assertThat(ExternalSystemModulePropertyManager.getInstance(module).isMavenized()).isFalse()
|
||||
assertThat(ExternalStorageConfigurationManager.getInstance(project).isEnabled).isFalse()
|
||||
@@ -210,7 +210,7 @@ class ExternalSystemStorageTest {
|
||||
fun `save imported module in internal storage`() = saveProjectInInternalStorageAndCheckResult(
|
||||
"singleModuleInInternalStorage") { project, projectDir ->
|
||||
val module = ModuleManager.getInstance(project).newModule(projectDir.resolve("test.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
ModuleRootModificationUtil.addContentRoot(module, projectDir.invariantSeparatorsPathString)
|
||||
ExternalSystemModulePropertyManager.getInstance(module).setMavenized(true)
|
||||
}
|
||||
@@ -219,7 +219,7 @@ class ExternalSystemStorageTest {
|
||||
fun `load imported module from internal storage`() = loadProjectAndCheckResults("singleModuleInInternalStorage") { project ->
|
||||
val module = ModuleManager.getInstance(project).modules.single()
|
||||
assertThat(module.name).isEqualTo("test")
|
||||
assertThat(module.moduleTypeName).isEqualTo(ModuleTypeId.JAVA_MODULE)
|
||||
assertThat(module.moduleTypeName).isEqualTo(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
assertThat(module.moduleFilePath).isEqualTo("${project.basePath}/test.iml")
|
||||
assertThat(ExternalSystemModulePropertyManager.getInstance(module).isMavenized()).isTrue()
|
||||
assertThat(ExternalStorageConfigurationManager.getInstance(project).isEnabled).isFalse()
|
||||
@@ -228,10 +228,10 @@ class ExternalSystemStorageTest {
|
||||
@Test
|
||||
fun `save mixed modules`() = saveProjectInExternalStorageAndCheckResult("mixedModules") { project, projectDir ->
|
||||
val regular = ModuleManager.getInstance(project).newModule(projectDir.resolve("regular.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
ModuleRootModificationUtil.addContentRoot(regular, projectDir.resolve("regular").invariantSeparatorsPathString)
|
||||
val imported = ModuleManager.getInstance(project).newModule(projectDir.resolve("imported.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
ModuleRootModificationUtil.addContentRoot(imported, projectDir.resolve("imported").invariantSeparatorsPathString)
|
||||
ExternalSystemModulePropertyManager.getInstance(imported).setMavenized(true)
|
||||
ExternalSystemModulePropertyManager.getInstance(imported).setLinkedProjectPath("${project.basePath}/imported")
|
||||
@@ -261,8 +261,8 @@ class ExternalSystemStorageTest {
|
||||
val (imported, regular) = modules
|
||||
assertThat(imported.name).isEqualTo("imported")
|
||||
assertThat(regular.name).isEqualTo("regular")
|
||||
assertThat(imported.moduleTypeName).isEqualTo(ModuleTypeId.JAVA_MODULE)
|
||||
assertThat(regular.moduleTypeName).isEqualTo(ModuleTypeId.JAVA_MODULE)
|
||||
assertThat(imported.moduleTypeName).isEqualTo(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
assertThat(regular.moduleTypeName).isEqualTo(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
assertThat(imported.moduleFilePath).isEqualTo("${project.basePath}/imported.iml")
|
||||
assertThat(regular.moduleFilePath).isEqualTo("${project.basePath}/regular.iml")
|
||||
assertThat(ModuleRootManager.getInstance(imported).contentRootUrls.single()).isEqualTo(
|
||||
@@ -278,7 +278,7 @@ class ExternalSystemStorageTest {
|
||||
fun `save regular facet in imported module`() = saveProjectInExternalStorageAndCheckResult(
|
||||
"regularFacetInImportedModule") { project, projectDir ->
|
||||
val module = ModuleManager.getInstance(project).newModule(projectDir.resolve("test.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
ModuleRootModificationUtil.addContentRoot(module, projectDir.invariantSeparatorsPathString)
|
||||
FacetManager.getInstance(module).addFacet(MockFacetType.getInstance(), "regular", null)
|
||||
ExternalSystemModulePropertyManager.getInstance(module).setMavenized(true)
|
||||
@@ -310,7 +310,7 @@ class ExternalSystemStorageTest {
|
||||
assertThat(modules).hasSize(1)
|
||||
val testModule = modules[0]
|
||||
assertThat(testModule.name).isEqualTo("test")
|
||||
assertThat(testModule.moduleTypeName).isEqualTo(ModuleTypeId.JAVA_MODULE)
|
||||
assertThat(testModule.moduleTypeName).isEqualTo(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
assertThat(testModule.moduleFilePath).isEqualTo("${project.basePath}/test.iml")
|
||||
assertThat(ModuleRootManager.getInstance(testModule).contentRootUrls.single()).isEqualTo(
|
||||
VfsUtil.pathToUrl("${project.basePath}/test"))
|
||||
@@ -322,7 +322,7 @@ class ExternalSystemStorageTest {
|
||||
fun `save imported facet in imported module`() = saveProjectInExternalStorageAndCheckResult(
|
||||
"importedFacetInImportedModule") { project, projectDir ->
|
||||
val imported = ModuleManager.getInstance(project).newModule(projectDir.resolve("imported.iml").invariantSeparatorsPathString,
|
||||
ModuleTypeId.JAVA_MODULE)
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
val facetRoot = VfsUtilCore.pathToUrl(projectDir.resolve("facet").invariantSeparatorsPathString)
|
||||
addFacet(imported, SerializationConstants.MAVEN_EXTERNAL_SOURCE_ID, "imported", listOf(facetRoot))
|
||||
ExternalSystemModulePropertyManager.getInstance(imported).setMavenized(true)
|
||||
|
||||
+2
-2
@@ -4,7 +4,6 @@ package com.intellij.openapi.externalSystem.service.project.manage
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.roots.ModuleRootManager
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.openapi.vfs.LocalFileSystem
|
||||
@@ -16,6 +15,7 @@ import com.intellij.platform.backend.workspace.impl.internal
|
||||
import com.intellij.platform.workspace.storage.VersionedStorageChange
|
||||
import com.intellij.testFramework.HeavyPlatformTestCase
|
||||
import com.intellij.testFramework.PlatformTestUtil
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import org.assertj.core.api.BDDAssertions.then
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType
|
||||
import java.io.File
|
||||
@@ -108,7 +108,7 @@ class SourceFolderManagerTest: HeavyPlatformTestCase() {
|
||||
val modifiableModel = moduleManager.getModifiableModel()
|
||||
val newModule: Module =
|
||||
try {
|
||||
modifiableModel.newModule(dir.toPath().resolve(moduleName).toAbsolutePath(), ModuleTypeId.JAVA_MODULE)
|
||||
modifiableModel.newModule(dir.toPath().resolve(moduleName).toAbsolutePath(), JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
}
|
||||
finally {
|
||||
runWriteAction {
|
||||
|
||||
@@ -9,9 +9,11 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleTypeUtils.WEB_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
|
||||
public abstract class WebModuleTypeBase<T extends ModuleBuilder> extends ModuleType<T> implements ModuleTypeWithWebFeatures {
|
||||
@NonNls public static final String WEB_MODULE = ModuleTypeId.WEB_MODULE;
|
||||
@NonNls public static final String WEB_MODULE = WEB_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
public WebModuleTypeBase() {
|
||||
super(WEB_MODULE);
|
||||
|
||||
+4
-2
@@ -144,7 +144,7 @@ internal class ModuleBridgeImpl(
|
||||
override fun getOptionValue(key: String): String? {
|
||||
val moduleEntity = this.findModuleEntity(entityStorage.current)
|
||||
if (key == Module.ELEMENT_TYPE) {
|
||||
return moduleEntity?.type
|
||||
return moduleEntity?.type?.name
|
||||
}
|
||||
return moduleEntity?.customImlData?.customModuleOptions?.get(key)
|
||||
}
|
||||
@@ -152,7 +152,9 @@ internal class ModuleBridgeImpl(
|
||||
override fun setOption(key: String, value: String?) {
|
||||
fun updateOptionInEntity(diff: MutableEntityStorage, entity: ModuleEntity) {
|
||||
if (key == Module.ELEMENT_TYPE) {
|
||||
diff.modifyEntity(entity) { type = value }
|
||||
diff.modifyEntity(entity) {
|
||||
type = if (value != null) ModuleTypeId(value) else null
|
||||
}
|
||||
}
|
||||
else {
|
||||
val customImlData = entity.customImlData
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
@file:JvmName("ModuleTypeUtils")
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.workspaceModel.ide.impl.legacyBridge.module
|
||||
|
||||
import com.intellij.platform.workspace.jps.entities.ModuleTypeId
|
||||
|
||||
const val WEB_MODULE_ENTITY_TYPE_ID_NAME = "WEB_MODULE"
|
||||
|
||||
@JvmField
|
||||
val WEB_MODULE_ENTITY_TYPE_ID = ModuleTypeId(WEB_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
@@ -6,13 +6,13 @@ import com.intellij.openapi.application.ModalityState
|
||||
import com.intellij.openapi.application.asContextElement
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.project.stateStore
|
||||
import com.intellij.testFramework.ApplicationRule
|
||||
import com.intellij.testFramework.TemporaryDirectory
|
||||
import com.intellij.testFramework.assertions.Assertions.assertThat
|
||||
import com.intellij.testFramework.createOrLoadProject
|
||||
import com.intellij.util.io.createDirectories
|
||||
import com.intellij.workspaceModel.ide.impl.legacyBridge.module.WEB_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -40,7 +40,7 @@ internal class ModuleAttachProcessorTest {
|
||||
existingProjectDir = existingProject.basePath!!
|
||||
withContext(Dispatchers.EDT + ModalityState.defaultModalityState().asContextElement()) {
|
||||
runWriteAction {
|
||||
ModuleManager.getInstance(existingProject).newModule("$existingProjectDir/test.iml", ModuleTypeId.WEB_MODULE)
|
||||
ModuleManager.getInstance(existingProject).newModule("$existingProjectDir/test.iml", WEB_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
}
|
||||
existingProject.stateStore.save()
|
||||
}
|
||||
|
||||
@@ -94,5 +94,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.util.progress.tests" scope="TEST" />
|
||||
<orderEntry type="library" name="jsvg" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="hash4j" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.java.impl" scope="TEST" />
|
||||
</component>
|
||||
</module>
|
||||
+6
-5
@@ -5,7 +5,6 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ex.ProjectManagerEx;
|
||||
import com.intellij.testFramework.HeavyPlatformTestCase;
|
||||
@@ -16,6 +15,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import static com.intellij.testFramework.assertions.Assertions.assertThat;
|
||||
import static com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleTypeUtils.WEB_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
public class OverwriteProjectConfigurationTest extends HeavyPlatformTestCase {
|
||||
private Path myProjectDir;
|
||||
@@ -29,7 +30,7 @@ public class OverwriteProjectConfigurationTest extends HeavyPlatformTestCase {
|
||||
public void testOverwriteModulesList() {
|
||||
Project project = ProjectManagerEx.getInstanceEx().newProject(myProjectDir, new OpenProjectTaskBuilder().build());
|
||||
try {
|
||||
createModule(project, "module", ModuleTypeId.JAVA_MODULE);
|
||||
createModule(project, "module", JAVA_MODULE_ENTITY_TYPE_ID_NAME);
|
||||
PlatformTestUtil.saveProject(project);
|
||||
}
|
||||
finally {
|
||||
@@ -49,7 +50,7 @@ public class OverwriteProjectConfigurationTest extends HeavyPlatformTestCase {
|
||||
public void testOverwriteModuleType() {
|
||||
Project project = ProjectManagerEx.getInstanceEx().newProject(myProjectDir, new OpenProjectTaskBuilder().build());
|
||||
try {
|
||||
Path imlFile = createModule(project, "module", ModuleTypeId.JAVA_MODULE);
|
||||
Path imlFile = createModule(project, "module", JAVA_MODULE_ENTITY_TYPE_ID_NAME);
|
||||
PlatformTestUtil.saveProject(project);
|
||||
assertThat(imlFile).isRegularFile();
|
||||
}
|
||||
@@ -59,10 +60,10 @@ public class OverwriteProjectConfigurationTest extends HeavyPlatformTestCase {
|
||||
|
||||
project = ProjectManagerEx.getInstanceEx().newProject(myProjectDir, new OpenProjectTaskBuilder().build());
|
||||
try {
|
||||
createModule(project, "module", ModuleTypeId.WEB_MODULE);
|
||||
createModule(project, "module", WEB_MODULE_ENTITY_TYPE_ID_NAME);
|
||||
PlatformTestUtil.saveProject(project);
|
||||
Module module = assertOneElement(ModuleManager.getInstance(project).getModules());
|
||||
assertEquals(ModuleTypeId.WEB_MODULE, ModuleType.get(module).getId());
|
||||
assertEquals(WEB_MODULE_ENTITY_TYPE_ID_NAME, ModuleType.get(module).getId());
|
||||
}
|
||||
finally {
|
||||
PlatformTestUtil.forceCloseProjectWithoutSaving(project);
|
||||
|
||||
+2
-2
@@ -5,7 +5,6 @@ import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.command.WriteCommandAction
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.module.ModuleTypeManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.ThrowableComputable
|
||||
@@ -16,6 +15,7 @@ import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.testFramework.IndexingTestUtil
|
||||
import com.intellij.testFramework.PsiTestUtil
|
||||
import com.intellij.testFramework.rules.ProjectModelRule
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import org.jetbrains.jps.model.java.JavaResourceRootType
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
||||
@@ -286,7 +286,7 @@ fun ProjectModelRule.createJavaModule(moduleName: String, content: ModuleContent
|
||||
}
|
||||
|
||||
private fun createJavaModule(project: Project, moduleName: String, moduleRootDirectory: Path): Module {
|
||||
val type = ModuleTypeManager.getInstance().findByID(ModuleTypeId.JAVA_MODULE)
|
||||
val type = ModuleTypeManager.getInstance().findByID(JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
return WriteCommandAction.writeCommandAction(project).compute(
|
||||
ThrowableComputable<Module, RuntimeException> {
|
||||
val moduleModel = ModuleManager.getInstance(project).getModifiableModel()
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
// Copyright 2000-2021 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.openapi.module;
|
||||
|
||||
/**
|
||||
* IDs of some well-known module types.
|
||||
*/
|
||||
public final class ModuleTypeId {
|
||||
public static final String WEB_MODULE = "WEB_MODULE";
|
||||
public static final String JAVA_MODULE = "JAVA_MODULE";
|
||||
}
|
||||
+4
-1
@@ -23,6 +23,7 @@ import com.intellij.platform.workspace.storage.MutableEntityStorage
|
||||
import com.intellij.projectModel.ProjectModelBundle
|
||||
import com.intellij.util.PathUtil
|
||||
import com.intellij.util.containers.BidirectionalMap
|
||||
import com.intellij.util.containers.ConcurrentFactoryMap
|
||||
import com.intellij.workspaceModel.ide.NonPersistentEntitySource
|
||||
import com.intellij.workspaceModel.ide.impl.LegacyBridgeJpsEntitySourceFactory
|
||||
import com.intellij.workspaceModel.ide.impl.legacyBridge.LegacyBridgeModifiableBase
|
||||
@@ -43,6 +44,8 @@ internal class ModifiableModuleModelBridgeImpl(
|
||||
diff: MutableEntityStorage,
|
||||
cacheStorageResult: Boolean = true
|
||||
) : LegacyBridgeModifiableBase(diff, cacheStorageResult), ModifiableModuleModelBridge {
|
||||
private val moduleTypes = ConcurrentFactoryMap.createMap<String, ModuleTypeId> { ModuleTypeId(it) }
|
||||
|
||||
override fun getProject(): Project = project
|
||||
|
||||
private val modulesToAdd = BidirectionalMap<String, ModuleBridge>()
|
||||
@@ -99,7 +102,7 @@ internal class ModifiableModuleModelBridgeImpl(
|
||||
dependencies = listOf(ModuleSourceDependency),
|
||||
entitySource = entitySource
|
||||
) {
|
||||
type = moduleTypeId
|
||||
type = moduleTypes[moduleTypeId]
|
||||
}
|
||||
|
||||
return@addMeasuredTime createModuleInstance(moduleEntity, true)
|
||||
|
||||
+3
-2
@@ -480,7 +480,7 @@ primitiveTypeStringNotNullable), primitive = primitiveTypeMapNotNullable), withD
|
||||
typeMetadata = EntityMetadata(fqName = "com.intellij.platform.workspace.jps.entities.ModuleEntity", entityDataFqName = "com.intellij.platform.workspace.jps.entities.ModuleEntityData", supertypes = listOf("com.intellij.platform.workspace.storage.WorkspaceEntity",
|
||||
"com.intellij.platform.workspace.storage.WorkspaceEntityWithSymbolicId"), properties = listOf(OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name = "entitySource", valueType = ValueTypeMetadata.SimpleType.CustomType(isNullable = false, typeMetadata = FinalClassMetadata.KnownClass(fqName = "com.intellij.platform.workspace.storage.EntitySource")), withDefault = false),
|
||||
OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name = "name", valueType = primitiveTypeStringNotNullable, withDefault = false),
|
||||
OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name = "type", valueType = primitiveTypeStringNullable, withDefault = false),
|
||||
OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name = "type", valueType = ValueTypeMetadata.SimpleType.CustomType(isNullable = true, typeMetadata = FinalClassMetadata.ClassMetadata(fqName = "com.intellij.platform.workspace.jps.entities.ModuleTypeId", properties = listOf(OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name = "name", valueType = primitiveTypeStringNotNullable, withDefault = false)), supertypes = listOf())), withDefault = false),
|
||||
OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name = "dependencies", valueType = ValueTypeMetadata.ParameterizedType(generics = listOf(ValueTypeMetadata.SimpleType.CustomType(isNullable = false, typeMetadata = ExtendableClassMetadata.AbstractClassMetadata(fqName = "com.intellij.platform.workspace.jps.entities.ModuleDependencyItem", subclasses = listOf(FinalClassMetadata.ObjectMetadata(fqName = "com.intellij.platform.workspace.jps.entities.ModuleSourceDependency", properties = listOf(), supertypes = listOf("com.intellij.platform.workspace.jps.entities.ModuleDependencyItem",
|
||||
"java.io.Serializable")),
|
||||
FinalClassMetadata.ClassMetadata(fqName = "com.intellij.platform.workspace.jps.entities.SdkDependency", properties = listOf(OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name = "sdk", valueType = ValueTypeMetadata.SimpleType.CustomType(isNullable = false, typeMetadata = FinalClassMetadata.ClassMetadata(fqName = "com.intellij.platform.workspace.jps.entities.SdkId", properties = listOf(OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name = "presentableName", valueType = primitiveTypeStringNotNullable, withDefault = false),
|
||||
@@ -604,7 +604,7 @@ OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name =
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.LibraryEntity", metadataHash = 311438336)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.LibraryPropertiesEntity", metadataHash = -31768321)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.ModuleCustomImlDataEntity", metadataHash = -917110778)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.ModuleEntity", metadataHash = -1158387731)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.ModuleEntity", metadataHash = 1486093169)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.ModuleGroupPathEntity", metadataHash = -371618300)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.ModuleSettingsBase", metadataHash = -1726065761)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.SdkEntity", metadataHash = 154089668)
|
||||
@@ -622,6 +622,7 @@ OwnPropertyMetadata(isComputable = false, isKey = false, isOpen = false, name =
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.LibraryRoot", metadataHash = -909142712)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.LibraryRootTypeId", metadataHash = -389178127)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.LibraryRoot\$InclusionOptions", metadataHash = 1781041525)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.ModuleTypeId", metadataHash = 56899897)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.ModuleDependencyItem", metadataHash = 1232498200)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.InheritedSdkDependency", metadataHash = -1690206127)
|
||||
addMetadataHash(typeFqn = "com.intellij.platform.workspace.jps.entities.LibraryDependency", metadataHash = -1835390724)
|
||||
|
||||
+4
-3
@@ -53,7 +53,7 @@ open class ModuleEntityImpl(private val dataSource: ModuleEntityData) : ModuleEn
|
||||
return dataSource.name
|
||||
}
|
||||
|
||||
override val type: String?
|
||||
override val type: ModuleTypeId?
|
||||
get() {
|
||||
readField("type")
|
||||
return dataSource.type
|
||||
@@ -183,12 +183,13 @@ open class ModuleEntityImpl(private val dataSource: ModuleEntityData) : ModuleEn
|
||||
changedProperty.add("name")
|
||||
}
|
||||
|
||||
override var type: String?
|
||||
override var type: ModuleTypeId?
|
||||
get() = getEntityData().type
|
||||
set(value) {
|
||||
checkModificationAllowed()
|
||||
getEntityData(true).type = value
|
||||
changedProperty.add("type")
|
||||
|
||||
}
|
||||
|
||||
private val dependenciesUpdater: (value: List<ModuleDependencyItem>) -> Unit = { value ->
|
||||
@@ -310,7 +311,7 @@ open class ModuleEntityImpl(private val dataSource: ModuleEntityData) : ModuleEn
|
||||
|
||||
class ModuleEntityData : WorkspaceEntityData.WithCalculableSymbolicId<ModuleEntity>(), SoftLinkable {
|
||||
lateinit var name: String
|
||||
var type: String? = null
|
||||
var type: ModuleTypeId? = null
|
||||
lateinit var dependencies: MutableList<ModuleDependencyItem>
|
||||
|
||||
internal fun isNameInitialized(): Boolean = ::name.isInitialized
|
||||
|
||||
@@ -14,6 +14,8 @@ import com.intellij.platform.workspace.storage.annotations.Child
|
||||
import com.intellij.platform.workspace.storage.impl.containers.toMutableWorkspaceList
|
||||
import org.jetbrains.annotations.NonNls
|
||||
|
||||
data class ModuleTypeId(val name: @NonNls String)
|
||||
|
||||
/**
|
||||
* Describes configuration of a [Module][com.intellij.openapi.module.Module].
|
||||
* See [package documentation](psi_element://com.intellij.platform.workspace.jps.entities) for more details.
|
||||
@@ -21,7 +23,7 @@ import org.jetbrains.annotations.NonNls
|
||||
interface ModuleEntity : WorkspaceEntityWithSymbolicId {
|
||||
val name: @NlsSafe String
|
||||
|
||||
val type: @NonNls String?
|
||||
val type: ModuleTypeId?
|
||||
val dependencies: List<ModuleDependencyItem>
|
||||
|
||||
val contentRoots: List<@Child ContentRootEntity>
|
||||
@@ -35,7 +37,7 @@ interface ModuleEntity : WorkspaceEntityWithSymbolicId {
|
||||
interface Builder : ModuleEntity, WorkspaceEntity.Builder<ModuleEntity> {
|
||||
override var entitySource: EntitySource
|
||||
override var name: String
|
||||
override var type: String?
|
||||
override var type: ModuleTypeId?
|
||||
override var dependencies: MutableList<ModuleDependencyItem>
|
||||
override var contentRoots: List<ContentRootEntity>
|
||||
override var facets: List<FacetEntity>
|
||||
|
||||
+6
-4
@@ -12,6 +12,7 @@ import com.intellij.platform.workspace.jps.serialization.impl.JpsProjectEntities
|
||||
import com.intellij.platform.workspace.storage.*
|
||||
import com.intellij.platform.workspace.storage.url.VirtualFileUrl
|
||||
import com.intellij.platform.workspace.storage.url.VirtualFileUrlManager
|
||||
import com.intellij.util.containers.ConcurrentFactoryMap
|
||||
import io.opentelemetry.api.metrics.Meter
|
||||
import org.jdom.Attribute
|
||||
import org.jdom.Element
|
||||
@@ -49,6 +50,7 @@ internal open class ModuleImlFileEntitiesSerializer(internal val modulePath: Mod
|
||||
internal val internalModuleListSerializer: JpsModuleListSerializer? = null,
|
||||
internal val externalModuleListSerializer: JpsModuleListSerializer? = null)
|
||||
: JpsFileEntitiesSerializer<ModuleEntity> {
|
||||
private val moduleTypes = ConcurrentFactoryMap.createMap<String, ModuleTypeId> { ModuleTypeId(it) }
|
||||
|
||||
override val mainEntityClass: Class<ModuleEntity>
|
||||
get() = ModuleEntity::class.java
|
||||
@@ -244,9 +246,9 @@ internal open class ModuleImlFileEntitiesSerializer(internal val modulePath: Mod
|
||||
}
|
||||
}
|
||||
|
||||
val moduleType = moduleOptions["type"]
|
||||
if (moduleType != null) {
|
||||
moduleEntity.type = moduleType
|
||||
val moduleTypeName = moduleOptions["type"]
|
||||
if (moduleTypeName != null) {
|
||||
moduleEntity.type = moduleTypes[moduleTypeName]
|
||||
}
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val customModuleOptions =
|
||||
@@ -695,7 +697,7 @@ internal open class ModuleImlFileEntitiesSerializer(internal val modulePath: Mod
|
||||
writer: JpsFileContentWriter) {
|
||||
val externalSystemOptions = module.exModuleOptions
|
||||
val customImlData = module.customImlData
|
||||
saveModuleOptions(externalSystemOptions, module.type, customImlData, writer)
|
||||
saveModuleOptions(externalSystemOptions, module.type?.name, customImlData, writer)
|
||||
val moduleOptions = customImlData?.customModuleOptions
|
||||
val customSerializerId = moduleOptions?.get(JpsProjectLoader.CLASSPATH_ATTRIBUTE)
|
||||
if (customSerializerId != null) {
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
<orderEntry type="module" module-name="intellij.tools.ide.metrics.benchmark" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.coroutines" scope="TEST" />
|
||||
<orderEntry type="library" name="kotlinx-collections-immutable" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.java.impl" scope="TEST" />
|
||||
</component>
|
||||
<component name="TestModuleProperties" production-module="intellij.platform.workspace.jps" />
|
||||
</module>
|
||||
+4
-2
@@ -39,10 +39,12 @@ import com.intellij.util.ui.UIUtil
|
||||
import com.intellij.workspaceModel.ide.impl.WorkspaceModelInitialTestContent
|
||||
import com.intellij.workspaceModel.ide.impl.jps.serialization.toConfigLocation
|
||||
import com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModuleManagerBridgeImpl
|
||||
import com.intellij.workspaceModel.ide.impl.legacyBridge.module.WEB_MODULE_ENTITY_TYPE_ID
|
||||
import com.intellij.workspaceModel.ide.impl.legacyBridge.module.findModule
|
||||
import com.intellij.workspaceModel.ide.impl.legacyBridge.module.findModuleEntity
|
||||
import com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.ModuleRootComponentBridge
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.ModuleBridge
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -413,7 +415,7 @@ class ModuleBridgesTest {
|
||||
val moduleFile = File(project.basePath, "test.iml")
|
||||
|
||||
val moduleManager = ModuleManager.getInstance(project)
|
||||
val module = runWriteActionAndWait { moduleManager.newModule(moduleFile.path, ModuleTypeId.JAVA_MODULE) }
|
||||
val module = runWriteActionAndWait { moduleManager.newModule(moduleFile.path, JAVA_MODULE_ENTITY_TYPE_ID_NAME) }
|
||||
|
||||
project.stateStore.save()
|
||||
|
||||
@@ -633,7 +635,7 @@ class ModuleBridgesTest {
|
||||
WriteCommandAction.runWriteCommandAction(project) {
|
||||
val moduleManager = ModuleManager.getInstance(project)
|
||||
|
||||
val module = moduleManager.newModule(moduleImlFile.path, ModuleTypeId.WEB_MODULE)
|
||||
val module = moduleManager.newModule(moduleImlFile.path, WEB_MODULE_ENTITY_TYPE_ID.name)
|
||||
ModuleRootModificationUtil.updateModel(module) { model ->
|
||||
val url = VfsUtilCore.pathToUrl(FileUtil.toSystemIndependentName(tempDir.path))
|
||||
val contentEntry = model.addContentEntry(url)
|
||||
|
||||
+2
-1
@@ -15,6 +15,7 @@ import com.intellij.platform.workspace.storage.url.VirtualFileUrlManager
|
||||
import com.intellij.testFramework.junit5.TestApplication
|
||||
import com.intellij.testFramework.rules.ProjectModelExtension
|
||||
import com.intellij.workspaceModel.ide.impl.IdeVirtualFileUrlManagerImpl
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID
|
||||
import org.jetbrains.jps.util.JpsPathUtil
|
||||
import org.junit.jupiter.api.Assertions.assertTrue
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
@@ -110,7 +111,7 @@ class JpsProjectSaveAfterChangesTest {
|
||||
val dependencies = listOf(InheritedSdkDependency, ModuleSourceDependency)
|
||||
val module = builder addEntity ModuleEntity("newModule", dependencies, source)
|
||||
builder.modifyEntity(module) {
|
||||
type = "JAVA_MODULE"
|
||||
type = JAVA_MODULE_ENTITY_TYPE_ID
|
||||
}
|
||||
val contentRootEntity = builder addEntity ContentRootEntity(configLocation.baseDirectoryUrl.append("new"),
|
||||
emptyList<@NlsSafe String>(), module.entitySource) {
|
||||
|
||||
+1
-1
@@ -435,7 +435,7 @@ class EclipseModuleRootsSerializer : CustomModuleRootsSerializer, StorageManager
|
||||
|
||||
val dotProjectFile = entitySource.classpathFile.toPath().parent.resolve(EclipseXml.PROJECT_FILE)
|
||||
if (!dotProjectFile.exists()) {
|
||||
val content = DotProjectFileHelper.generateProjectFileContent(ModuleTypeManager.getInstance().findByID(module.type), module.name)
|
||||
val content = DotProjectFileHelper.generateProjectFileContent(ModuleTypeManager.getInstance().findByID(module.type?.name), module.name)
|
||||
saveXmlFile(dotProjectFile, content)
|
||||
}
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ import com.intellij.compiler.CompilerConfigurationImpl
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.util.Computable
|
||||
import com.intellij.testFramework.runInEdtAndGet
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import org.assertj.core.api.BDDAssertions.then
|
||||
import org.jetbrains.jps.model.java.impl.compiler.ProcessorConfigProfileImpl
|
||||
import org.jetbrains.plugins.gradle.GradleManager
|
||||
@@ -423,7 +423,7 @@ class AnnotationProcessorConfigImportingTest: GradleImportingTestCase() {
|
||||
fun `test annotation processor profiles of non gradle projects are not removed`() {
|
||||
val nonGradleModule = runInEdtAndGet {
|
||||
ApplicationManager.getApplication().runWriteAction(Computable {
|
||||
ModuleManager.getInstance(myProject).newModule(myProject.basePath!! + "/java_module", ModuleTypeId.JAVA_MODULE)
|
||||
ModuleManager.getInstance(myProject).newModule(myProject.basePath!! + "/java_module", JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -48,5 +48,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.backend.workspace" />
|
||||
<orderEntry type="library" name="caffeine" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.jdom" />
|
||||
<orderEntry type="module" module-name="intellij.java.impl" />
|
||||
</component>
|
||||
</module>
|
||||
+2
-2
@@ -3,11 +3,11 @@
|
||||
package org.jetbrains.kotlin.idea.roots.ui
|
||||
|
||||
import com.intellij.openapi.module.ModuleConfigurationEditor
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.roots.ui.configuration.ClasspathEditor
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationEditorProviderEx
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationState
|
||||
import com.intellij.openapi.roots.ui.configuration.OutputEditor
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import org.jetbrains.kotlin.idea.base.facet.platform.platform
|
||||
import org.jetbrains.kotlin.platform.jvm.isJvm
|
||||
|
||||
@@ -18,7 +18,7 @@ class NonJvmKotlinModuleEditorsProvider : ModuleConfigurationEditorProviderEx {
|
||||
val rootModel = state.rootModel
|
||||
val module = rootModel.module
|
||||
|
||||
if (module.moduleTypeName != ModuleTypeId.JAVA_MODULE || module.platform.isJvm()) {
|
||||
if (module.moduleTypeName != JAVA_MODULE_ENTITY_TYPE_ID_NAME || module.platform.isJvm()) {
|
||||
return ModuleConfigurationEditor.EMPTY
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -2,7 +2,6 @@
|
||||
package org.jetbrains.kotlin.idea.base.test
|
||||
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.projectRoots.Sdk
|
||||
import com.intellij.openapi.roots.ContentEntry
|
||||
@@ -15,6 +14,7 @@ import com.intellij.pom.java.LanguageLevel
|
||||
import com.intellij.testFramework.IdeaTestUtil
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import com.intellij.testFramework.PsiTestUtil
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import java.nio.file.Path
|
||||
|
||||
class KotlinJvmLightProjectDescriptor(
|
||||
@@ -31,7 +31,7 @@ class KotlinJvmLightProjectDescriptor(
|
||||
}
|
||||
|
||||
override fun getModuleTypeId(): String {
|
||||
return ModuleTypeId.JAVA_MODULE
|
||||
return JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
}
|
||||
|
||||
override fun getSdk(): Sdk {
|
||||
|
||||
+3
-4
@@ -2,14 +2,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.codeInsight.generate
|
||||
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.projectRoots.Sdk
|
||||
import com.intellij.openapi.projectRoots.Sdk
|
||||
import com.intellij.testFramework.IdeaTestUtil
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
||||
import org.jetbrains.kotlin.idea.actions.generate.KotlinGenerateTestSupportActionBase
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.idea.base.test.InTextDirectivesUtils
|
||||
|
||||
abstract class AbstractGenerateTestSupportMethodActionTest : AbstractCodeInsightActionTest() {
|
||||
@@ -21,7 +20,7 @@ abstract class AbstractGenerateTestSupportMethodActionTest : AbstractCodeInsight
|
||||
|
||||
companion object {
|
||||
val TEST_ROOT_PROJECT_DESCRIPTOR = object : LightProjectDescriptor() {
|
||||
override fun getModuleTypeId(): String = ModuleTypeId.JAVA_MODULE
|
||||
override fun getModuleTypeId(): String = JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
override fun getSdk(): Sdk = IdeaTestUtil.getMockJdk18()
|
||||
override fun getSourceRootType(): JpsModuleSourceRootType<*> = JavaSourceRootType.TEST_SOURCE
|
||||
}
|
||||
|
||||
+5
-3
@@ -8,7 +8,6 @@ import com.intellij.jarRepository.RepositoryLibraryType.REPOSITORY_LIBRARY_KIND
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.projectRoots.JavaSdk
|
||||
import com.intellij.openapi.projectRoots.Sdk
|
||||
@@ -21,7 +20,10 @@ import com.intellij.openapi.vfs.LocalFileSystem
|
||||
import com.intellij.testFramework.PlatformTestUtil
|
||||
import com.intellij.testFramework.PsiTestUtil
|
||||
import com.intellij.testFramework.runInEdtAndWait
|
||||
import com.intellij.util.io.*
|
||||
import com.intellij.util.io.copy
|
||||
import com.intellij.util.io.createDirectories
|
||||
import com.intellij.util.io.delete
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import org.jetbrains.idea.maven.utils.library.RepositoryLibraryProperties
|
||||
import org.jetbrains.kotlin.idea.base.plugin.artifacts.TestKotlinArtifacts
|
||||
import org.jetbrains.kotlin.idea.base.test.KotlinRoot
|
||||
@@ -275,7 +277,7 @@ class ModuleDescription(val moduleName: String) {
|
||||
val moduleManager = ModuleManager.getInstance(project)
|
||||
val module = with(moduleManager.getModifiableModel()) {
|
||||
val imlPath = modulePath.resolve("$moduleName${ModuleFileType.DOT_DEFAULT_EXTENSION}")
|
||||
val module = newModule(imlPath, ModuleTypeId.JAVA_MODULE)
|
||||
val module = newModule(imlPath, JAVA_MODULE_ENTITY_TYPE_ID_NAME)
|
||||
PsiTestUtil.addSourceRoot(module, moduleVirtualFile.findFileByRelativePath(src) ?: error("no '$src' in $this"))
|
||||
commit()
|
||||
module
|
||||
|
||||
+2
-2
@@ -9,7 +9,6 @@ import com.intellij.jarRepository.RemoteRepositoryDescription
|
||||
import com.intellij.jarRepository.RepositoryLibraryType
|
||||
import com.intellij.openapi.application.runWriteAction
|
||||
import com.intellij.openapi.module.ModifiableModuleModel
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.projectRoots.Sdk
|
||||
import com.intellij.openapi.roots.*
|
||||
@@ -17,6 +16,7 @@ import com.intellij.openapi.roots.libraries.ui.OrderRoot
|
||||
import com.intellij.openapi.util.Disposer
|
||||
import com.intellij.openapi.vfs.VfsUtil
|
||||
import com.intellij.util.PathUtil
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import org.jetbrains.idea.maven.utils.library.RepositoryLibraryProperties
|
||||
import org.jetbrains.jps.model.java.JavaResourceRootType
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType
|
||||
@@ -177,7 +177,7 @@ private class ProjectImporter(
|
||||
private fun convertModule(moduleIr: ModuleIR): TaskResult<IdeaModule> {
|
||||
val module = modulesModel.newModule(
|
||||
(moduleIr.path / "${moduleIr.name}.iml").toString(),
|
||||
ModuleTypeId.JAVA_MODULE
|
||||
JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
)
|
||||
val rootModel = ModuleRootManager.getInstance(module).modifiableModel
|
||||
val contentRoot = rootModel.addContentEntry(moduleIr.path.url)
|
||||
|
||||
+3
-3
@@ -3,16 +3,16 @@
|
||||
package org.jetbrains.kotlin.idea.test;
|
||||
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor;
|
||||
import com.intellij.testFramework.fixtures.MavenDependencyUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.intellij.workspaceModel.ide.legacyBridge.impl.java.JavaModuleTypeUtils.JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
|
||||
public class KotlinLightProjectDescriptor extends LightProjectDescriptor {
|
||||
protected KotlinLightProjectDescriptor() {
|
||||
}
|
||||
@@ -22,7 +22,7 @@ public class KotlinLightProjectDescriptor extends LightProjectDescriptor {
|
||||
@NotNull
|
||||
@Override
|
||||
public String getModuleTypeId() {
|
||||
return ModuleTypeId.JAVA_MODULE;
|
||||
return JAVA_MODULE_ENTITY_TYPE_ID_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-5
@@ -6,7 +6,6 @@ import com.intellij.externalSystem.ImportedLibraryProperties
|
||||
import com.intellij.externalSystem.ImportedLibraryType
|
||||
import com.intellij.java.library.MavenCoordinates
|
||||
import com.intellij.java.workspace.entities.JavaModuleSettingsEntity
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.module.impl.ModuleManagerEx
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.roots.DependencyScope
|
||||
@@ -18,9 +17,6 @@ import com.intellij.openapi.vfs.VfsUtilCore
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.platform.backend.workspace.toVirtualFileUrl
|
||||
import com.intellij.platform.workspace.jps.entities.*
|
||||
import com.intellij.platform.workspace.jps.entities.DependencyScope as EntitiesDependencyScope
|
||||
import com.intellij.platform.workspace.jps.entities.ModuleDependency as EntitiesModuleDependency
|
||||
import com.intellij.platform.workspace.jps.entities.LibraryDependency as EntitiesLibraryDependency
|
||||
import com.intellij.platform.workspace.jps.serialization.impl.FileInDirectorySourceNames
|
||||
import com.intellij.platform.workspace.storage.EntitySource
|
||||
import com.intellij.platform.workspace.storage.EntityStorage
|
||||
@@ -29,6 +25,7 @@ import com.intellij.platform.workspace.storage.url.VirtualFileUrl
|
||||
import com.intellij.platform.workspace.storage.url.VirtualFileUrlManager
|
||||
import com.intellij.util.containers.addIfNotNull
|
||||
import com.intellij.workspaceModel.ide.impl.LegacyBridgeJpsEntitySourceFactory
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID
|
||||
import org.jetbrains.idea.maven.importing.MavenImportUtil
|
||||
import org.jetbrains.idea.maven.importing.StandardMavenModuleType
|
||||
import org.jetbrains.idea.maven.importing.tree.MavenModuleImportData
|
||||
@@ -41,6 +38,9 @@ import org.jetbrains.idea.maven.project.MavenProject
|
||||
import org.jetbrains.idea.maven.utils.MavenLog
|
||||
import org.jetbrains.jps.model.serialization.SerializationConstants
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryTableSerializer
|
||||
import com.intellij.platform.workspace.jps.entities.DependencyScope as EntitiesDependencyScope
|
||||
import com.intellij.platform.workspace.jps.entities.LibraryDependency as EntitiesLibraryDependency
|
||||
import com.intellij.platform.workspace.jps.entities.ModuleDependency as EntitiesModuleDependency
|
||||
|
||||
internal class WorkspaceModuleImporter(
|
||||
private val project: Project,
|
||||
@@ -81,7 +81,7 @@ internal class WorkspaceModuleImporter(
|
||||
dependencies: List<ModuleDependencyItem>,
|
||||
entitySource: EntitySource): ModuleEntity {
|
||||
val moduleEntity = builder addEntity ModuleEntity(moduleName, dependencies, entitySource) {
|
||||
this.type = ModuleTypeId.JAVA_MODULE
|
||||
this.type = JAVA_MODULE_ENTITY_TYPE_ID
|
||||
}
|
||||
builder addEntity ExternalSystemModuleOptionsEntity(entitySource) {
|
||||
ExternalSystemData(moduleEntity, mavenProject.file.path, mavenModuleType).write(this)
|
||||
|
||||
+2
-2
@@ -12,7 +12,6 @@ import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.writeAction
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.roots.LibraryOrderEntry
|
||||
import com.intellij.openapi.roots.ModuleRootManager
|
||||
import com.intellij.openapi.roots.ui.configuration.actions.ModuleDeleteProvider
|
||||
@@ -21,6 +20,7 @@ import com.intellij.openapi.util.registry.Registry
|
||||
import com.intellij.testFramework.TestActionEvent
|
||||
import com.intellij.testFramework.UsefulTestCase
|
||||
import com.intellij.util.FileContentUtil
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID_NAME
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
@@ -589,7 +589,7 @@ class MavenProjectsManagerTest : MavenMultiVersionImportingTestCase() {
|
||||
<artifactId>child1</artifactId>
|
||||
</project>
|
||||
""".trimIndent())
|
||||
writeAction { ModuleManager.getInstance(project).newModule("non-maven", ModuleTypeId.JAVA_MODULE) }
|
||||
writeAction { ModuleManager.getInstance(project).newModule("non-maven", JAVA_MODULE_ENTITY_TYPE_ID_NAME) }
|
||||
importProjectAsync(mavenParentPom)
|
||||
assertEquals(3, ModuleManager.getInstance(project).modules.size)
|
||||
configConfirmationForYesAnswer()
|
||||
|
||||
@@ -12,5 +12,6 @@
|
||||
<orderEntry type="library" name="kotlin-stdlib" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.java.impl" />
|
||||
<orderEntry type="module" module-name="intellij.ml.models.local" />
|
||||
<orderEntry type="module" module-name="intellij.platform.workspace.jps" />
|
||||
</component>
|
||||
</module>
|
||||
+5
-5
@@ -12,15 +12,15 @@ import com.intellij.notification.Notification
|
||||
import com.intellij.notification.NotificationAction
|
||||
import com.intellij.notification.NotificationType
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.application.NonBlockingReadAction
|
||||
import com.intellij.openapi.application.ReadAction
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.module.ModuleTypeId
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.registry.Registry
|
||||
import com.intellij.platform.backend.workspace.WorkspaceModel
|
||||
import com.intellij.platform.workspace.jps.entities.ModuleEntity
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.PsiMethod
|
||||
import com.intellij.util.concurrency.AppExecutorUtil
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY_TYPE_ID
|
||||
import java.util.concurrent.atomic.AtomicInteger
|
||||
|
||||
|
||||
@@ -44,8 +44,8 @@ internal class CompletionSessionsCounter : LookupManagerListener {
|
||||
}
|
||||
|
||||
if (counter.get() == 0) {
|
||||
isJavaProject = ModuleManager.getInstance(project).modules.any {
|
||||
it.moduleTypeName == ModuleTypeId.JAVA_MODULE
|
||||
isJavaProject = WorkspaceModel.getInstance(project).currentSnapshot.entities(ModuleEntity::class.java).any {
|
||||
it.type == JAVA_MODULE_ENTITY_TYPE_ID
|
||||
}
|
||||
} else if (!isJavaProject) {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user