From e393bcc0e57ef923eb3edf5ff7676558d1c4ca30 Mon Sep 17 00:00:00 2001 From: "Maxim.Kolmakov" Date: Mon, 11 Mar 2019 17:05:23 +0100 Subject: [PATCH] Move YK binaries into plugin --- .../intellij/build/IdeaCommunityProperties.groovy | 1 - .../intellij/build/MacDistributionCustomizer.groovy | 5 ----- .../jetbrains/intellij/build/ProductProperties.groovy | 11 ----------- .../intellij/build/impl/BuildTasksImpl.groovy | 1 - .../build/impl/LinuxDistributionBuilder.groovy | 8 +------- .../intellij/build/impl/MacDistributionBuilder.groovy | 8 -------- .../intellij/build/impl/VmOptionsGenerator.groovy | 9 +-------- .../build/impl/WindowsDistributionBuilder.groovy | 8 +------- 8 files changed, 3 insertions(+), 48 deletions(-) diff --git a/build/groovy/org/jetbrains/intellij/build/IdeaCommunityProperties.groovy b/build/groovy/org/jetbrains/intellij/build/IdeaCommunityProperties.groovy index f57e98739356..963b51fdb347 100644 --- a/build/groovy/org/jetbrains/intellij/build/IdeaCommunityProperties.groovy +++ b/build/groovy/org/jetbrains/intellij/build/IdeaCommunityProperties.groovy @@ -112,7 +112,6 @@ class IdeaCommunityProperties extends BaseIdeaProperties { urlSchemes = ["idea"] associateIpr = true fileAssociations = ["java", "groovy", "kt"] - enableYourkitAgentInEAP = false bundleIdentifier = "com.jetbrains.intellij.ce" dmgImagePath = "$projectHome/build/conf/ideaCE/mac/images/dmg_background.tiff" icnsPathForEAP = "$projectHome/build/conf/ideaCE/mac/images/communityEAP.icns" diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/MacDistributionCustomizer.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/MacDistributionCustomizer.groovy index dc660d3eb94c..8f213f336c1a 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/MacDistributionCustomizer.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/MacDistributionCustomizer.groovy @@ -90,11 +90,6 @@ abstract class MacDistributionCustomizer { */ boolean associateIpr = false - /** - * If {@code true} YourKit agent will be automatically attached when an EAP build of the product starts under macOS. This property is - * taken into account only if {@link ProductProperties#enableYourkitAgentInEAP} is {@code true}. - */ - boolean enableYourkitAgentInEAP = true /** * Relative paths to files in macOS distribution which should take 'executable' permissions diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/ProductProperties.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/ProductProperties.groovy index 9ba392732430..053d6dc35bbe 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/ProductProperties.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/ProductProperties.groovy @@ -146,17 +146,6 @@ abstract class ProductProperties { */ boolean buildSourcesArchive = false - /** - * Path to a directory containing yjpagent*.dll, libyjpagent-linux*.so and libyjpagent.jnilib files, which will be copied to 'bin' - * directories of Windows, Linux and macOS distributions. If {@code null} no agent files will be bundled. - */ - String yourkitAgentBinariesDirectoryPath = null - - /** - * If {@code true} YourKit agent will be automatically attached when an EAP build of the product starts. It makes sense only if {@link #yourkitAgentBinariesDirectoryPath} is non-null. - */ - boolean enableYourkitAgentInEAP = false - /** * Specifies how Maven artifacts for IDE modules should be generated, by default no artifacts are generated. */ diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy index 327bd177ab85..b76fcc5b5f57 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/BuildTasksImpl.groovy @@ -476,7 +476,6 @@ idea.fatal.error.notification=disabled def properties = buildContext.productProperties checkPaths(properties.brandingResourcePaths, "productProperties.brandingResourcePaths") checkPaths(properties.additionalIDEPropertiesFilePaths, "productProperties.additionalIDEPropertiesFilePaths") - checkPaths([properties.yourkitAgentBinariesDirectoryPath], "productProperties.yourkitAgentBinariesDirectoryPath") checkPaths(properties.additionalDirectoriesWithLicenses, "productProperties.additionalDirectoriesWithLicenses") checkModules(properties.additionalModulesToCompile, "productProperties.additionalModulesToCompile") diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.groovy index 9d1f84c5a1f4..eb73d046b492 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.groovy @@ -32,11 +32,6 @@ class LinuxDistributionBuilder extends OsSpecificDistributionBuilder { buildContext.messages.progress("Building distributions for $targetOs.osName") buildContext.ant.copy(todir: "$unixDistPath/bin") { fileset(dir: "$buildContext.paths.communityHome/bin/linux") - if (buildContext.productProperties.yourkitAgentBinariesDirectoryPath != null) { - fileset(dir: buildContext.productProperties.yourkitAgentBinariesDirectoryPath) { - include(name: "libyjpagent-linux*.so") - } - } } BuildTasksImpl.unpackPty4jNative(buildContext, unixDistPath, "linux") @@ -117,9 +112,8 @@ class LinuxDistributionBuilder extends OsSpecificDistributionBuilder { private void generateVMOptions(String unixDistPath) { JvmArchitecture.values().each { - def yourkitSessionName = buildContext.applicationInfo.isEAP && buildContext.productProperties.enableYourkitAgentInEAP ? buildContext.systemSelector : null def fileName = "${buildContext.productProperties.baseFileName}${it.fileSuffix}.vmoptions" - def vmOptions = VmOptionsGenerator.computeVmOptions(it, buildContext.applicationInfo.isEAP, buildContext.productProperties, yourkitSessionName) + + def vmOptions = VmOptionsGenerator.computeVmOptions(it, buildContext.applicationInfo.isEAP, buildContext.productProperties) + " -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine" new File(unixDistPath, "bin/$fileName").text = vmOptions.replace(' ', '\n') + "\n" } diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy index 8e647fd94e5f..f3e3db9b56a1 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/MacDistributionBuilder.groovy @@ -134,11 +134,6 @@ class MacDistributionBuilder extends OsSpecificDistributionBuilder { def macCustomizer = customizer buildContext.ant.copy(todir: "$target/bin") { fileset(dir: "$buildContext.paths.communityHome/bin/mac") - if (buildContext.productProperties.yourkitAgentBinariesDirectoryPath != null) { - fileset(dir: buildContext.productProperties.yourkitAgentBinariesDirectoryPath) { - include(name: "libyjpagent.jnilib") - } - } } buildContext.ant.copy(todir: target) { @@ -180,9 +175,6 @@ class MacDistributionBuilder extends OsSpecificDistributionBuilder { new File("$target/bin/idea.properties").text = effectiveProperties.toString() String ideaVmOptions = "${VmOptionsGenerator.vmOptionsForArch(JvmArchitecture.x64, buildContext.productProperties)} -XX:+UseCompressedOops -Dfile.encoding=UTF-8 ${VmOptionsGenerator.computeCommonVmOptions(buildContext.applicationInfo.isEAP)} -Xverify:none ${buildContext.productProperties.additionalIdeJvmArguments} -XX:ErrorFile=\$USER_HOME/java_error_in_${executable}_%p.log -XX:HeapDumpPath=\$USER_HOME/java_error_in_${executable}.hprof".trim() - if (buildContext.applicationInfo.isEAP && buildContext.productProperties.enableYourkitAgentInEAP && macCustomizer.enableYourkitAgentInEAP) { - ideaVmOptions += " " + VmOptionsGenerator.yourkitOptions(buildContext.systemSelector, "") - } new File("$target/bin/${executable}.vmoptions").text = ideaVmOptions.split(" ").join("\n") String classPath = buildContext.bootClassPathJarNames.collect { "\$APP_PACKAGE/Contents/lib/${it}" }.join(":") diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/VmOptionsGenerator.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/VmOptionsGenerator.groovy index 8e9cbd092151..27d6817573e2 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/VmOptionsGenerator.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/VmOptionsGenerator.groovy @@ -29,11 +29,8 @@ class VmOptionsGenerator { "-Djdk.http.auth.tunneling.disabledSchemes=\"\" " + "-XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow" - static String computeVmOptions(JvmArchitecture arch, boolean isEAP, ProductProperties productProperties, String yourkitSessionName = null) { + static String computeVmOptions(JvmArchitecture arch, boolean isEAP, ProductProperties productProperties) { String options = vmOptionsForArch(arch, productProperties) + " " + computeCommonVmOptions(isEAP) - if (yourkitSessionName != null) { - options += " " + yourkitOptions(yourkitSessionName, arch.fileSuffix) - } return options } @@ -54,9 +51,5 @@ class VmOptionsGenerator { } throw new AssertionError(arch) } - - static String yourkitOptions(String sessionName, String fileSuffix) { - "-agentlib:yjpagent$fileSuffix=probe_disable=*,disablealloc,disabletracing,onlylocal,disableexceptiontelemetry,delay=10000,sessionname=$sessionName".trim() - } } diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy index 5fda3f398c25..9bca3f91e965 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/WindowsDistributionBuilder.groovy @@ -42,11 +42,6 @@ class WindowsDistributionBuilder extends OsSpecificDistributionBuilder { exclude(name: "breakgen*") } } - if (buildContext.productProperties.yourkitAgentBinariesDirectoryPath != null) { - fileset(dir: buildContext.productProperties.yourkitAgentBinariesDirectoryPath) { - include(name: "yjpagent*.dll") - } - } } BuildTasksImpl.unpackPty4jNative(buildContext, winDistPath, "win") @@ -171,9 +166,8 @@ class WindowsDistributionBuilder extends OsSpecificDistributionBuilder { private void generateVMOptions(String winDistPath, Collection architectures) { architectures.each { - def yourkitSessionName = buildContext.applicationInfo.isEAP && buildContext.productProperties.enableYourkitAgentInEAP ? buildContext.systemSelector : null def fileName = "${buildContext.productProperties.baseFileName}${it.fileSuffix}.exe.vmoptions" - def vmOptions = VmOptionsGenerator.computeVmOptions(it, buildContext.applicationInfo.isEAP, buildContext.productProperties, yourkitSessionName) + def vmOptions = VmOptionsGenerator.computeVmOptions(it, buildContext.applicationInfo.isEAP, buildContext.productProperties) new File(winDistPath, "bin/$fileName").text = vmOptions.replace(' ', '\n') + "\n" }