mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[remote dev] bundle keymap plugins with frontend (JetBrains Client) distributions (RDCT-1702)
Now frontend distribution bundles the same keymap plugins as the corresponding full IDE, and build tests verify that. This is needed to ensure that compatible versions of these plugins are always installed, and there is no need to update them manually if an EAP version of the IDE was used before (see GTW-9593). (cherry picked from commit fb59cafc43146aec7aae016993a04f79f3366700, IJ-CR-148772) GitOrigin-RevId: b23b2a6ef872a7733ccb03f4c89f87161b93fa64
This commit is contained in:
committed by
intellij-monorepo-bot
parent
02b4b3acba
commit
135cebec97
@@ -194,6 +194,7 @@ private suspend fun doRunTestBuild(context: suspend () -> BuildContext, traceSpa
|
||||
if (jetBrainsClientMainModule != null && context.generateRuntimeModuleRepository) {
|
||||
val softly = SoftAssertions()
|
||||
RuntimeModuleRepositoryChecker.checkIntegrityOfEmbeddedProduct(jetBrainsClientMainModule, ProductMode.FRONTEND, context, softly)
|
||||
checkKeymapPluginsAreBundledWithFrontend(jetBrainsClientMainModule, context, softly)
|
||||
softly.assertAll()
|
||||
}
|
||||
}
|
||||
@@ -248,6 +249,23 @@ private suspend fun doRunTestBuild(context: suspend () -> BuildContext, traceSpa
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun checkKeymapPluginsAreBundledWithFrontend(
|
||||
jetBrainsClientMainModule: String,
|
||||
context: BuildContext,
|
||||
softly: SoftAssertions,
|
||||
) {
|
||||
val productModules = context.getOriginalModuleRepository().loadProductModules(jetBrainsClientMainModule, ProductMode.FRONTEND)
|
||||
val keymapPluginModulePrefix = "intellij.keymap."
|
||||
val keymapPluginsBundledWithFrontend = productModules.bundledPluginModuleGroups
|
||||
.map { it.mainModule.moduleId.stringId }
|
||||
.filter { it.startsWith(keymapPluginModulePrefix) }
|
||||
val keymapPluginsBundledWithMonolith = context.getBundledPluginModules().filter { it.startsWith(keymapPluginModulePrefix) }
|
||||
softly.assertThat(keymapPluginsBundledWithFrontend)
|
||||
.describedAs("Frontend variant of ${context.applicationInfo.productNameWithEdition} must bundle the same keymap plugins as the full IDE for consistency. " +
|
||||
"Change 'bundled-plugins' in 'META-INF/$jetBrainsClientMainModule/product-modules.xml' to fix this.")
|
||||
.containsExactlyInAnyOrder(*keymapPluginsBundledWithMonolith.toTypedArray())
|
||||
}
|
||||
|
||||
private fun copyDebugLog(productProperties: ProductProperties, messages: BuildMessages) {
|
||||
try {
|
||||
val debugLogFile = messages.getDebugLog()
|
||||
|
||||
Reference in New Issue
Block a user