diff --git a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/bridge/impl/serialization/ProjectDirectJpsFileContentReader.kt b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/bridge/impl/serialization/ProjectDirectJpsFileContentReader.kt index 73a36ff5f853..a988113793cc 100644 --- a/platform/workspace/jps/src/com/intellij/platform/workspace/jps/bridge/impl/serialization/ProjectDirectJpsFileContentReader.kt +++ b/platform/workspace/jps/src/com/intellij/platform/workspace/jps/bridge/impl/serialization/ProjectDirectJpsFileContentReader.kt @@ -28,7 +28,16 @@ internal class ProjectDirectJpsFileContentReader( if (fileUrl.endsWith(".iml")) { //todo support external storage val loader = getModuleLoader(fileUrl) - return JDomSerializationUtil.findComponent(loader.loadRootElement(Path(JpsPathUtil.urlToPath(fileUrl))), componentName) + val rootElement = loader.loadRootElement(Path(JpsPathUtil.urlToPath(fileUrl))) + if (componentName == "DeprecatedModuleOptionManager") { + //this duplicates logic from ModuleStateStorageManager.beforeElementLoaded which is used to convert attributes to data in an artificial component + val componentTag = JDomSerializationUtil.createComponentElement(componentName) + rootElement?.attributes?.forEach { attribute -> + componentTag.addContent(Element("option").setAttribute("key", attribute.name).setAttribute("value", attribute.value)) + } + return componentTag + } + return JDomSerializationUtil.findComponent(rootElement, componentName) } return loadProjectLevelComponent(fileUrl, componentName) }