IJPL-973 add extracted modules to products using x-include (later, we can move more common modules to this list)

GitOrigin-RevId: 445cf458b388fff32a158872b86d86891157e9ea
This commit is contained in:
Vladimir Krivosheev
2024-04-06 15:33:50 +03:00
committed by intellij-monorepo-bot
parent cdbb38c45d
commit 1289cafff9
8 changed files with 24 additions and 11 deletions

2
.idea/modules.xml generated
View File

@@ -855,7 +855,7 @@
<module fileurl="file://$PROJECT_DIR$/plugins/kotlin/intellij.kotlin.plugin.community.main.iml" filepath="$PROJECT_DIR$/plugins/kotlin/intellij.kotlin.plugin.community.main.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/laf/macos/intellij.laf.macos.iml" filepath="$PROJECT_DIR$/plugins/laf/macos/intellij.laf.macos.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/laf/win10/intellij.laf.win10.iml" filepath="$PROJECT_DIR$/plugins/laf/win10/intellij.laf.win10.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/libraries/grpc/intellij.libraries.grpc.iml" filepath="$PROJECT_DIR$/platform/libraries/grpc/intellij.libraries.grpc.iml" />
<module fileurl="file://$PROJECT_DIR$/libraries/grpc/intellij.libraries.grpc.iml" filepath="$PROJECT_DIR$/libraries/grpc/intellij.libraries.grpc.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/lombok/intellij.lombok.iml" filepath="$PROJECT_DIR$/plugins/lombok/intellij.lombok.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/lombok/generated/intellij.lombok.generated.iml" filepath="$PROJECT_DIR$/plugins/lombok/generated/intellij.lombok.generated.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/markdown/core/intellij.markdown.iml" filepath="$PROJECT_DIR$/plugins/markdown/core/intellij.markdown.iml" />

View File

@@ -10,7 +10,6 @@
<content>
<module name="intellij.notebooks.visualization"/>
<module name="intellij.notebooks.ui"/>
<module name="intellij.platform.images.copyright"/>
<module name="intellij.xml.xmlbeans"/>
<module name="intellij.platform.ide.newUiOnboarding"/>
<module name="intellij.platform.ml.embeddings"/>
@@ -19,7 +18,8 @@
<module name="intellij.platform.experiment"/>
<module name="intellij.idea.customization.base"/>
</content>
<xi:include href="/META-INF/common-ide-modules.xml"/>
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceInterface="com.intellij.openapi.updateSettings.UpdateStrategyCustomization"
serviceImplementation="com.intellij.openapi.updateSettings.base.ShowWhatIsNewPageAfterUpdateCustomization"

View File

@@ -529,13 +529,21 @@ private suspend fun getProductPluginContentModules(context: BuildContext, produc
readXmlAsModel(file)
}?.let { root ->
collectProductModules(root = root, result = result)
// we don't want to allow providing product modules in any x-include, check only specific ones
if (root.children.any { it.name == "include" && it.getAttributeValue("href") == "/META-INF/common-ide-modules.xml" }) {
collectProductModules(
root = readXmlAsModel(context.findFileInModuleSources("intellij.platform.resources", "META-INF/common-ide-modules.xml")!!),
result = result,
)
}
}
withContext(Dispatchers.IO) {
val file = context.findFileInModuleSources("intellij.platform.resources", "META-INF/PlatformLangPlugin.xml")
file?.let { readXmlAsModel(it) }
}?.let {
collectProductModules(root = it, result = result)
collectProductModules(
root = readXmlAsModel(context.findFileInModuleSources("intellij.platform.resources", "META-INF/PlatformLangPlugin.xml")!!),
result = result,
)
}
return result

View File

@@ -14,9 +14,6 @@
<module name="intellij.platform.navbar.compatibility.ide"/>
<module name="intellij.platform.navbar.compatibility.monolith"/>
<module name="intellij.platform.settings.local"/>
<module name="intellij.platform.vcs.log.impl"/>
<module name="intellij.platform.vcs.dvcs.impl"/>
</content>
<xi:include href="PlatformLangComponents.xml"/>

View File

@@ -0,0 +1,8 @@
<idea>
<content>
<module name="intellij.platform.images.copyright"/>
<module name="intellij.platform.vcs.log.impl"/>
<module name="intellij.platform.vcs.dvcs.impl"/>
</content>
</idea>

View File

@@ -6,11 +6,11 @@
<content>
<module name="intellij.notebooks.visualization"/>
<module name="intellij.notebooks.ui"/>
<module name="intellij.platform.images.copyright"/>
<module name="intellij.platform.ide.newUiOnboarding"/>
<module name="intellij.platform.ml.embeddings"/>
<module name="intellij.ide.startup.importSettings"/>
</content>
<xi:include href="/META-INF/common-ide-modules.xml"/>
<xi:include href="/META-INF/pycharm-core.xml" xpointer="xpointer(/idea-plugin/*)"/>