From c03cb7685378633c93f33fe7acd89011df8e1101 Mon Sep 17 00:00:00 2001 From: "Ivan.Povetkin" Date: Tue, 15 Oct 2024 01:49:05 +0200 Subject: [PATCH] IJI-2303: Add `compatiblePluginsToIgnore` property in `BuildOptions` to ignore compatible plugins during build. (cherry picked from commit 49f1ee93d44d28d73271d0c6699ea969abca35c3) IJ-CR-146838 GitOrigin-RevId: e4a29fa9185ba2d3aae6717c9104f045b5ef1ff8 --- .../src/org/jetbrains/intellij/build/BuildOptions.kt | 5 +++++ .../org/jetbrains/intellij/build/impl/BuildContextImpl.kt | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/BuildOptions.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/BuildOptions.kt index 64c7af0e52eb..bef263ca4da5 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/BuildOptions.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/BuildOptions.kt @@ -480,6 +480,11 @@ data class BuildOptions( var isNightlyBuild: Boolean = getBooleanProperty(INTELLIJ_BUILD_IS_NIGHTLY, (buildNumber?.count { it == '.' } ?: 1) <= 1) + /** + * Specifies an additional list of compatible plugin names which should not be built, see [ProductModulesLayout.compatiblePluginsToIgnore] + */ + var compatiblePluginsToIgnore: Set = getSetProperty("intellij.build.compatible.plugins.to.ignore") + /** * If `false`, [org.jetbrains.intellij.build.impl.projectStructureMapping.buildJarContentReport] * won't be affected by [PluginBundlingRestrictions.includeInDistribution] diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildContextImpl.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildContextImpl.kt index 99bf78827d0b..40b52512976b 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildContextImpl.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildContextImpl.kt @@ -9,13 +9,10 @@ import com.intellij.util.containers.with import io.opentelemetry.api.common.AttributeKey import io.opentelemetry.api.common.Attributes import io.opentelemetry.api.trace.Span -import jetbrains.buildServer.messages.serviceMessages.MessageWithAttributes -import jetbrains.buildServer.messages.serviceMessages.ServiceMessageTypes import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.* import org.jetbrains.intellij.build.* -import org.jetbrains.intellij.build.dependencies.TeamCityHelper import org.jetbrains.intellij.build.io.runProcess import org.jetbrains.intellij.build.jarCache.JarCacheManager import org.jetbrains.intellij.build.jarCache.LocalDiskJarCacheManager @@ -113,6 +110,10 @@ class BuildContextImpl internal constructor( ) ) } + if (!options.compatiblePluginsToIgnore.isEmpty()) { + productProperties.productLayout.compatiblePluginsToIgnore = + productProperties.productLayout.compatiblePluginsToIgnore.addAll(options.compatiblePluginsToIgnore) + } } companion object {