From 5c4655bf031036c33479af4beb83ae281173e7c4 Mon Sep 17 00:00:00 2001 From: Nikita Iarychenko Date: Mon, 16 Mar 2026 16:44:07 +0400 Subject: [PATCH] fix compile errors for 261 eap --- .../intellij/build/IdeaCommunityProperties.kt | 2 +- .../intellij/build/OpenIdeProperties.kt | 135 ++++++++++-------- .../jps/model/JdkVariantDetectorTest.kt | 1 + .../ui/configuration/SdkListModelBuilder.java | 2 + .../src/META-INF/LangExtensions.xml | 6 +- .../importSettings/data/WizardMockData.kt | 1 + 6 files changed, 82 insertions(+), 65 deletions(-) diff --git a/build/src/org/jetbrains/intellij/build/IdeaCommunityProperties.kt b/build/src/org/jetbrains/intellij/build/IdeaCommunityProperties.kt index b3ae2c4af2d2..5a13c84ac999 100644 --- a/build/src/org/jetbrains/intellij/build/IdeaCommunityProperties.kt +++ b/build/src/org/jetbrains/intellij/build/IdeaCommunityProperties.kt @@ -204,7 +204,7 @@ fun intellijCommunityBaseFragment(platformPrefix: String? = null): ProductModule } include(CommunityProductFragments.javaIdeBaseFragment()) - deprecatedInclude("intellij.idea.community.customization", "META-INF/tips-intellij-idea-community.xml") + deprecatedInclude("org.openide.ideTipsAndTricks", "ideTipsAndTricks.xml") moduleSet(CommunityModuleSets.debuggerStreams()) diff --git a/build/src/org/jetbrains/intellij/build/OpenIdeProperties.kt b/build/src/org/jetbrains/intellij/build/OpenIdeProperties.kt index 2657101ccc7d..563933ff765a 100644 --- a/build/src/org/jetbrains/intellij/build/OpenIdeProperties.kt +++ b/build/src/org/jetbrains/intellij/build/OpenIdeProperties.kt @@ -13,6 +13,7 @@ // along with this program. If not, see http://www.gnu.org/licenses/. package org.jetbrains.intellij.build +import kotlinx.collections.immutable.plus import org.jetbrains.intellij.build.kotlin.KotlinBinaries import ru.openide.OpenIdePluginBundler import java.nio.file.Path @@ -21,67 +22,9 @@ open class OpenIdeProperties(val communityHomeDir: Path): IdeaCommunityPropertie override val baseFileName: String = "openide" - override fun createWindowsCustomizer(projectHome: String): WindowsDistributionCustomizer = OpenIdeWindowsDistributionCustomizer() - override fun createLinuxCustomizer(projectHome: String): LinuxDistributionCustomizer = OpenIdeLinuxDistributionCustomizer() - override fun createMacCustomizer(projectHome: String): MacDistributionCustomizer = OpenIdeMacDistributionCustomizer() - - protected open inner class OpenIdeWindowsDistributionCustomizer : WindowsDistributionCustomizer() { - init { - icoPath = "${communityHomeDir}/build/conf/openIDE/win/images/openide.ico" - icoPathForEAP = "${communityHomeDir}/build/conf/openIDE/win/images/openide_eap.ico" - installerImagesPath = "${communityHomeDir}/build/conf/openIDE/win/images" - fileAssociations = listOf("java", "gradle", "groovy", "kt", "kts", "pom") - } - - override fun getFullNameIncludingEdition(appInfo: ApplicationInfoProperties) = "OpenIDE" - - override fun getFullNameIncludingEditionAndVendor(appInfo: ApplicationInfoProperties) = "OpenIDE" - } - - protected open inner class OpenIdeLinuxDistributionCustomizer : LinuxDistributionCustomizer() { - init { - iconPngPath = "${communityHomeDir}/build/conf/openIDE/linux/images/openide_128.png" - iconPngPathForEAP = "${communityHomeDir}/build/conf/openIDE/linux/images/openide_eap_128.png" - snapName = "open-ide" - snapDescription = - "The most intelligent Java IDE. Every aspect of OpenIDE is specifically designed to maximize developer productivity. " + - "Together, powerful static code analysis and ergonomic design make development not only productive but also an enjoyable experience." - } - - override fun getRootDirectoryName(appInfo: ApplicationInfoProperties, buildNumber: String) = "openIDE-$buildNumber" - - override fun generateExecutableFilesPatterns(context: BuildContext, includeRuntime: Boolean, arch: JvmArchitecture, targetLibcImpl: LibcImpl): Sequence = - super.generateExecutableFilesPatterns(context, includeRuntime, arch, targetLibcImpl) - .plus(KotlinBinaries.kotlinCompilerExecutables) - .filterNot { it == "plugins/**/*.sh" } - } - - protected open inner class OpenIdeMacDistributionCustomizer : MacDistributionCustomizer() { - init { - icnsPath = "${communityHomeDir}/build/conf/openIDE/mac/images/openide.icns" - icnsPathForEAP = "${communityHomeDir}/build/conf/openIDE/mac/images/openide_eap.icns" - urlSchemes = listOf("idea") - associateIpr = true - fileAssociations = FileAssociation.from("java", "groovy", "kt", "kts") - bundleIdentifier = "ru.openide" - dmgImagePath = "${communityHomeDir}/build/conf/openIDE/mac/images/dmg_background.tiff" - } - - override fun getRootDirectoryName(appInfo: ApplicationInfoProperties, buildNumber: String): String { - return if (appInfo.isEAP) { - "OpenIDE ${appInfo.majorVersion}.${appInfo.minorVersionMainPart} EAP.app" - } - else { - "OpenIDE.app" - } - } - - override fun generateExecutableFilesPatterns(context: BuildContext, includeRuntime: Boolean, arch: JvmArchitecture): Sequence { - return super.generateExecutableFilesPatterns(context, includeRuntime, arch) - .plus(KotlinBinaries.kotlinCompilerExecutables) - .filterNot { it == "plugins/**/*.sh" } - } - } + override fun createWindowsCustomizer(projectHome: Path): WindowsDistributionCustomizer = openideWindowsCustomizer(communityHomeDir) + override fun createLinuxCustomizer(projectHome: String): LinuxDistributionCustomizer = openideLinuxCustomizer(communityHomeDir) + override fun createMacCustomizer(projectHome: Path): MacDistributionCustomizer = openideMacCustomizer(communityHomeDir) override fun getSystemSelector(appInfo: ApplicationInfoProperties, buildNumber: String): String { return "OpenIDE${appInfo.majorVersion}.${appInfo.minorVersionMainPart}" @@ -94,4 +37,74 @@ open class OpenIdeProperties(val communityHomeDir: Path): IdeaCommunityPropertie override suspend fun getAdditionalPluginPaths(context: BuildContext): List { return OpenIdePluginBundler.getBundlePluginPaths(context) } +} + +inline fun openideWindowsCustomizer(projectHome: Path, configure: WindowsCustomizerBuilder.() -> Unit = {}): WindowsDistributionCustomizer { + return windowsCustomizer(projectHome) { + // Set Community defaults + icoPath = "build/conf/openIDE/win/images/openide.ico" + icoPathForEAP = "build/conf/openIDE/win/images/openide_eap.ico" + installerImagesPath = "build/conf/openIDE/win/images" + fileAssociations = listOf("java", "gradle", "groovy", "kt", "kts", "pom") + + fullName { "OpenIDE" } + + fullNameAndVendor { "OpenIDE" } + + // Apply user configuration + configure() + } +} + +inline fun openideLinuxCustomizer(projectHome: Path, configure: LinuxCustomizerBuilder.() -> Unit = {}): LinuxDistributionCustomizer { + return linuxCustomizer(projectHome) { + // Set Community defaults + iconPngPath = "build/conf/openIDE/linux/images/openide_128.png" + iconPngPathForEAP = "build/conf/openIDE/linux/images/openide_eap_128.png" + snaps += LinuxDistributionCustomizer.Snap( + name = "open-ide", + description = + "The most intelligent Java IDE. Every aspect of OpenIDE is specifically designed to maximize developer productivity. " + + "Together, powerful static code analysis and ergonomic design make development not only productive but also an enjoyable experience." + ) + + rootDirectoryName { _, buildNumber -> "openIDE-$buildNumber" } + + executableFilePatterns { base, _, _, _, _ -> + base.plus(KotlinBinaries.kotlinCompilerExecutables).filterNot { it == "plugins/**/*.sh" } + } + + // Apply user configuration + configure() + } +} + +inline fun openideMacCustomizer(projectHome: Path, configure: MacCustomizerBuilder.() -> Unit = {}): MacDistributionCustomizer { + return macCustomizer(projectHome) { + // Set Community defaults + icnsPath = "build/conf/openIDE/mac/images/openide.icns" + icnsPathForEAP = "build/conf/openIDE/mac/images/openide_eap.icns" + urlSchemes = listOf("idea") + associateIpr = true + fileAssociations = FileAssociation.from("java", "groovy", "kt", "kts") + bundleIdentifier = "ru.openide" + dmgImagePath = "build/conf/openIDE/mac/images/dmg_background.tiff" + + rootDirectoryName { appInfo, buildNumber -> + if (appInfo.isEAP) { + "OpenIDE ${appInfo.majorVersion}.${appInfo.minorVersionMainPart} EAP.app" + } + else { + "OpenIDE.app" + } + } + + executableFilePatterns { base, includeRuntime, arch, context -> + val kotlinExecutables = org.jetbrains.intellij.build.kotlin.KotlinBinaries.kotlinCompilerExecutables + (base + kotlinExecutables).filterNot { it == "plugins/**/*.sh" } + } + + // Apply user configuration + configure() + } } \ No newline at end of file diff --git a/jps/model-impl/testSrc/org/jetbrains/jps/model/JdkVariantDetectorTest.kt b/jps/model-impl/testSrc/org/jetbrains/jps/model/JdkVariantDetectorTest.kt index d1f031a833d3..592ed29b9470 100644 --- a/jps/model-impl/testSrc/org/jetbrains/jps/model/JdkVariantDetectorTest.kt +++ b/jps/model-impl/testSrc/org/jetbrains/jps/model/JdkVariantDetectorTest.kt @@ -10,6 +10,7 @@ import com.intellij.util.system.CpuArch import org.jetbrains.jps.model.java.JdkVersionDetector import org.jetbrains.jps.model.java.JdkVersionDetector.Variant.AdoptOpenJdk_HS import org.jetbrains.jps.model.java.JdkVersionDetector.Variant.AdoptOpenJdk_J9 +import org.jetbrains.jps.model.java.JdkVersionDetector.Variant.Axiom import org.jetbrains.jps.model.java.JdkVersionDetector.Variant.BiSheng import org.jetbrains.jps.model.java.JdkVersionDetector.Variant.Corretto import org.jetbrains.jps.model.java.JdkVersionDetector.Variant.Dragonwell diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/SdkListModelBuilder.java b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/SdkListModelBuilder.java index ac3e582a735f..2bbc2d17e54a 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/SdkListModelBuilder.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/SdkListModelBuilder.java @@ -43,10 +43,12 @@ import org.jetbrains.jps.model.java.JdkVersionDetector; import javax.swing.JComponent; import java.io.File; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.EventListener; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.function.Predicate; diff --git a/platform/platform-resources/src/META-INF/LangExtensions.xml b/platform/platform-resources/src/META-INF/LangExtensions.xml index c2f6389cb5ac..0154e12c5177 100644 --- a/platform/platform-resources/src/META-INF/LangExtensions.xml +++ b/platform/platform-resources/src/META-INF/LangExtensions.xml @@ -832,9 +832,9 @@ instance="com.intellij.application.options.CodeCompletionConfigurable" id="editor.preferences.completion.popup" /> - + + +