Revert "IJPL-149878 Ability to add specific VM options into Windows distributions"

This reverts commit b2ee7a1fc721f37184360f5e300bc02b3fce113a.

GitOrigin-RevId: c94a87137cbe1f51f7a243ba905506b7156cd2e1
This commit is contained in:
Vladimir Lagunov
2024-06-25 12:14:58 +02:00
committed by intellij-monorepo-bot
parent 0037f1a872
commit 389a293caa
6 changed files with 16 additions and 34 deletions

View File

@@ -62,11 +62,6 @@ abstract class WindowsDistributionCustomizer {
*/
var useXPlatLauncher = true
/**
* Adds VM Options into a Windows distribution after adding options from [ProductProperties.additionalVmOptions].
*/
var additionalWindowsVmOptions: PersistentList<String> = persistentListOf()
/**
* Name of the root directory in Windows .zip archive
* (the method is overridden in [AndroidStudioProperties.groovy](https://bit.ly/3heXKlQ)).

View File

@@ -5,17 +5,18 @@ import com.intellij.openapi.util.SystemInfoRt
import com.intellij.openapi.util.io.NioFiles
import com.intellij.platform.diagnostic.telemetry.helpers.use
import com.intellij.platform.diagnostic.telemetry.helpers.useWithScope
import org.jetbrains.intellij.build.impl.qodana.generateQodanaLaunchData
import io.opentelemetry.api.trace.Span
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.jetbrains.intellij.build.*
import org.jetbrains.intellij.build.NativeBinaryDownloader
import org.jetbrains.intellij.build.TraceManager.spanBuilder
import org.jetbrains.intellij.build.impl.OsSpecificDistributionBuilder.Companion.suffix
import org.jetbrains.intellij.build.impl.client.ADDITIONAL_EMBEDDED_CLIENT_VM_OPTIONS
import org.jetbrains.intellij.build.impl.client.createJetBrainsClientContextForLaunchers
import org.jetbrains.intellij.build.impl.productInfo.*
import org.jetbrains.intellij.build.impl.qodana.generateQodanaLaunchData
import org.jetbrains.intellij.build.impl.support.RepairUtilityBuilder
import org.jetbrains.intellij.build.io.*
import java.nio.file.Files
@@ -446,7 +447,7 @@ class LinuxDistributionBuilder(
val vmOptionsPath = distBinDir.resolve("${context.productProperties.baseFileName}64.vmoptions")
@Suppress("SpellCheckingInspection")
val vmOptions = VmOptionsGenerator.computeVmOptions(context, OsFamily.LINUX) + listOf("-Dsun.tools.attach.tmp.only=true", "-Dawt.lock.fair=true")
val vmOptions = VmOptionsGenerator.computeVmOptions(context) + listOf("-Dsun.tools.attach.tmp.only=true", "-Dawt.lock.fair=true")
writeVmOptions(vmOptionsPath, vmOptions, separator = "\n")
return vmOptionsPath

View File

@@ -6,17 +6,22 @@ import com.intellij.openapi.util.io.NioFiles
import com.intellij.platform.diagnostic.telemetry.helpers.useWithScope
import com.intellij.util.SystemProperties
import com.intellij.util.io.Decompressor
import org.jetbrains.intellij.build.impl.qodana.generateQodanaLaunchData
import io.opentelemetry.api.common.AttributeKey
import io.opentelemetry.api.trace.Span
import kotlinx.coroutines.*
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.NonCancellable
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.apache.commons.compress.archivers.zip.Zip64Mode
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry
import org.jetbrains.intellij.build.*
import org.jetbrains.intellij.build.NativeBinaryDownloader
import org.jetbrains.intellij.build.TraceManager.spanBuilder
import org.jetbrains.intellij.build.impl.OsSpecificDistributionBuilder.Companion.suffix
import org.jetbrains.intellij.build.impl.client.createJetBrainsClientContextForLaunchers
import org.jetbrains.intellij.build.impl.productInfo.*
import org.jetbrains.intellij.build.impl.qodana.generateQodanaLaunchData
import org.jetbrains.intellij.build.impl.support.RepairUtilityBuilder
import org.jetbrains.intellij.build.io.*
import java.nio.file.Files
@@ -424,7 +429,7 @@ class MacDistributionBuilder(
private fun writeMacOsVmOptions(distBinDir: Path, context: BuildContext): Path {
val executable = context.productProperties.baseFileName
val fileVmOptions = VmOptionsGenerator.computeVmOptions(context, OsFamily.MACOS) + listOf("-Dapple.awt.application.appearance=system")
val fileVmOptions = VmOptionsGenerator.computeVmOptions(context) + listOf("-Dapple.awt.application.appearance=system")
val vmOptionsPath = distBinDir.resolve("$executable.vmoptions")
writeVmOptions(vmOptionsPath, fileVmOptions, separator = "\n")
return vmOptionsPath

View File

@@ -2,7 +2,6 @@
package org.jetbrains.intellij.build.impl
import org.jetbrains.intellij.build.BuildContext
import org.jetbrains.intellij.build.OsFamily
import java.nio.charset.StandardCharsets
import java.nio.file.Files
import java.nio.file.Path
@@ -45,20 +44,8 @@ private const val CUSTOM_BUILT_IN_PLUGIN_REPOSITORY_PROPERTY = "intellij.plugins
@Suppress("IdentifierGrammar")
object VmOptionsGenerator {
fun computeVmOptions(context: BuildContext, osFamily: OsFamily): List<String> {
fun computeVmOptions(context: BuildContext): List<String> {
var additionalVmOptions = context.productProperties.additionalVmOptions
val osSpecificFmOptions = when (osFamily) {
OsFamily.WINDOWS -> context.windowsDistributionCustomizer?.additionalWindowsVmOptions
OsFamily.MACOS, OsFamily.LINUX -> {
// Please implement when required.
null
}
}
if (osSpecificFmOptions != null) {
additionalVmOptions = additionalVmOptions.addAll(osSpecificFmOptions)
}
val customPluginRepositoryUrl = computeCustomPluginRepositoryUrl(context)
if (customPluginRepositoryUrl != null) {
additionalVmOptions = additionalVmOptions.add("-D$CUSTOM_BUILT_IN_PLUGIN_REPOSITORY_PROPERTY=$customPluginRepositoryUrl")

View File

@@ -6,16 +6,17 @@ import com.intellij.openapi.util.io.NioFiles
import com.intellij.openapi.util.text.StringUtilRt
import com.intellij.platform.diagnostic.telemetry.helpers.useWithScope
import com.jetbrains.plugin.structure.base.utils.exists
import org.jetbrains.intellij.build.impl.qodana.generateQodanaLaunchData
import io.opentelemetry.api.common.AttributeKey
import io.opentelemetry.api.trace.Span
import kotlinx.coroutines.*
import org.jetbrains.intellij.build.*
import org.jetbrains.intellij.build.NativeBinaryDownloader
import org.jetbrains.intellij.build.TraceManager.spanBuilder
import org.jetbrains.intellij.build.impl.OsSpecificDistributionBuilder.Companion.suffix
import org.jetbrains.intellij.build.impl.client.ADDITIONAL_EMBEDDED_CLIENT_VM_OPTIONS
import org.jetbrains.intellij.build.impl.client.createJetBrainsClientContextForLaunchers
import org.jetbrains.intellij.build.impl.productInfo.*
import org.jetbrains.intellij.build.impl.qodana.generateQodanaLaunchData
import org.jetbrains.intellij.build.impl.support.RepairUtilityBuilder
import org.jetbrains.intellij.build.io.*
import java.nio.file.Files
@@ -413,7 +414,7 @@ internal class WindowsDistributionBuilder(
private fun writeWindowsVmOptions(distBinDir: Path, context: BuildContext): Path {
val vmOptionsFile = distBinDir.resolve("${context.productProperties.baseFileName}64.exe.vmoptions")
val vmOptions = VmOptionsGenerator.computeVmOptions(context, OsFamily.WINDOWS)
val vmOptions = VmOptionsGenerator.computeVmOptions(context)
writeVmOptions(vmOptionsFile, vmOptions, separator = "\r\n")
return vmOptionsFile
}

View File

@@ -1,10 +1,8 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.intellij.build.productRunner
import com.intellij.openapi.util.SystemInfoRt
import com.intellij.platform.runtime.repository.RuntimeModuleId
import org.jetbrains.intellij.build.BuildContext
import org.jetbrains.intellij.build.OsFamily
import org.jetbrains.intellij.build.VmProperties
import org.jetbrains.intellij.build.impl.VmOptionsGenerator
import kotlin.io.path.pathString
@@ -26,17 +24,12 @@ internal class ModuleBasedProductRunner(private val rootModuleForModularLoader:
val loaderModule = context.originalModuleRepository.repository.getModule(RuntimeModuleId.module("intellij.platform.runtime.loader"))
val ideClasspath = loaderModule.moduleClasspath.map { it.pathString }
val osFamily = when {
SystemInfoRt.isWindows -> OsFamily.WINDOWS
SystemInfoRt.isMac -> OsFamily.MACOS
else -> OsFamily.LINUX
}
runApplicationStarter(
context = context,
classpath = ideClasspath,
args = args,
vmProperties = systemProperties + additionalVmProperties,
vmOptions = VmOptionsGenerator.computeVmOptions(context, osFamily) +
vmOptions = VmOptionsGenerator.computeVmOptions(context) +
//we need to unset 'jna.nounpack' (see IJ-CR-125211), otherwise the process will fail to load JNA on macOS (IJPL-150094)
context.productProperties.additionalIdeJvmArguments.filterNot { it == "-Djna.nounpack=true" } +
context.productProperties.getAdditionalContextDependentIdeJvmArguments(context),