diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.kt index 89d3821ed43b..94fb76859886 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.kt @@ -471,8 +471,14 @@ internal suspend fun buildNonBundledPlugins( if (prepareCustomPluginRepository) { val list = pluginSpecs.sortedBy { it.pluginZip } - generatePluginRepositoryMetaFile(list, context.nonBundledPlugins, context) - generatePluginRepositoryMetaFile(list.filter { it.pluginZip.startsWith(context.nonBundledPluginsToBePublished) }, context.nonBundledPluginsToBePublished, context) + if (list.isNotEmpty()) { + generatePluginRepositoryMetaFile(list, context.nonBundledPlugins, context) + } + + val pluginsToBePublished = list.filter { it.pluginZip.startsWith(context.nonBundledPluginsToBePublished) } + if (pluginsToBePublished.isNotEmpty()) { + generatePluginRepositoryMetaFile(pluginsToBePublished, context.nonBundledPluginsToBePublished, context) + } } validatePlugins(context, pluginSpecs) diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/PluginRepositoryXmlGenerator.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/PluginRepositoryXmlGenerator.kt index 9b7c48d5b9fb..5cf64dcb70a1 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/PluginRepositoryXmlGenerator.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/PluginRepositoryXmlGenerator.kt @@ -14,11 +14,13 @@ import java.util.* import kotlin.io.path.createDirectories internal fun generatePluginRepositoryMetaFile(pluginSpecs: List, targetDir: Path, context: BuildContext): Path { + require(pluginSpecs.isNotEmpty()) val categories = TreeMap>() for (spec in pluginSpecs) { val p = readPlugin(spec.pluginZip, spec.pluginXml, context.buildNumber, targetDir) categories.computeIfAbsent(p.category) { mutableListOf() }.add(p) } + Files.createDirectories(targetDir) val result = targetDir.resolve("plugins.xml") writePluginsXml(result, categories) return result