diff --git a/platform/configuration-store-impl/src/ProjectStoreImpl.kt b/platform/configuration-store-impl/src/ProjectStoreImpl.kt
index 1dab63cd0dd6..b6442d8b4b9d 100644
--- a/platform/configuration-store-impl/src/ProjectStoreImpl.kt
+++ b/platform/configuration-store-impl/src/ProjectStoreImpl.kt
@@ -461,19 +461,31 @@ fun normalizeDefaultProjectElement(defaultProject: Project, element: Element, pr
LOG.catchAndLog {
val iterator = element.getChildren("component").iterator()
for (component in iterator) {
- when (component.getAttributeValue("name")) {
- "InspectionProjectProfileManager" -> convertProfiles(component.getChildren("profile").iterator(), "InspectionProjectProfileManager", projectConfigDir.resolve("inspectionProfiles"))
+ val componentName = component.getAttributeValue("name")
+
+ fun writeProfileSettings(schemeDir: Path) {
+ component.removeAttribute("name")
+ if (!component.isEmpty()) {
+ val wrapper = Element("component").attribute("name", componentName)
+ component.name = "settings"
+ wrapper.addContent(component)
+ JDOMUtil.write(wrapper, schemeDir.resolve("profiles_settings.xml").outputStream(), "\n")
+ }
+ }
+
+ when (componentName) {
+ "InspectionProjectProfileManager" -> {
+ iterator.remove()
+ val schemeDir = projectConfigDir.resolve("inspectionProfiles")
+ convertProfiles(component.getChildren("profile").iterator(), componentName, schemeDir)
+ component.removeChild("version")
+ writeProfileSettings(schemeDir)
+ }
"CopyrightManager" -> {
iterator.remove()
val schemeDir = projectConfigDir.resolve("copyright")
- convertProfiles(component.getChildren("copyright").iterator(), "CopyrightManager", schemeDir)
- component.removeAttribute("name")
- if (!component.isEmpty()) {
- val wrapper = Element("component").attribute("name", "CopyrightManager")
- component.name = "settings"
- wrapper.addContent(component)
- JDOMUtil.write(wrapper, schemeDir.resolve("profiles_settings.xml").outputStream(), "\n")
- }
+ convertProfiles(component.getChildren("copyright").iterator(), componentName, schemeDir)
+ writeProfileSettings(schemeDir)
}
}
}
diff --git a/platform/configuration-store-impl/testSrc/DefaultProjectStoreTest.kt b/platform/configuration-store-impl/testSrc/DefaultProjectStoreTest.kt
index 1d80d35ff8c5..3928ad697b9b 100644
--- a/platform/configuration-store-impl/testSrc/DefaultProjectStoreTest.kt
+++ b/platform/configuration-store-impl/testSrc/DefaultProjectStoreTest.kt
@@ -117,6 +117,21 @@ internal class DefaultProjectStoreTest {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -162,6 +177,23 @@ internal class DefaultProjectStoreTest {
+
+
+ ├──inspectionProfiles/
+ ├──Project_Default.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
""".trimIndent())
}
}
\ No newline at end of file