From 517a5245660af6d6a4c0f3e519b4c19a8c3f82cb Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 25 Mar 2024 08:32:09 +0100 Subject: [PATCH] IJPL-866 readPluginId - use HashMapZipFile GitOrigin-RevId: 537d2ae70b36acd2f77bf7bb89150a38d7587bcb --- .../org/jetbrains/intellij/build/impl/BuildHelper.kt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildHelper.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildHelper.kt index 786c3a0419ea..36290441b486 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildHelper.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildHelper.kt @@ -4,6 +4,7 @@ package org.jetbrains.intellij.build.impl import com.intellij.platform.diagnostic.telemetry.helpers.use import com.intellij.platform.diagnostic.telemetry.helpers.useWithScope import com.intellij.util.JavaModuleOptions +import com.intellij.util.lang.HashMapZipFile import com.intellij.util.system.OS import com.intellij.util.xml.dom.readXmlAsModel import io.opentelemetry.api.trace.Span @@ -19,7 +20,6 @@ import org.jetbrains.intellij.build.TraceManager.spanBuilder import org.jetbrains.intellij.build.io.DEFAULT_TIMEOUT import org.jetbrains.intellij.build.io.copyDir import org.jetbrains.intellij.build.io.runJava -import java.nio.file.FileSystems import java.nio.file.Files import java.nio.file.NoSuchFileException import java.nio.file.Path @@ -142,8 +142,8 @@ private fun readPluginId(pluginJar: Path): String? { } try { - FileSystems.newFileSystem(pluginJar, null as ClassLoader?).use { - return readXmlAsModel(Files.newInputStream(it.getPath("META-INF/plugin.xml"))).getChild("id")?.content + HashMapZipFile.load(pluginJar).use { zip -> + return readXmlAsModel(zip.getInputStream("META-INF/plugin.xml") ?: return null).getChild("id")?.content } } catch (ignore: NoSuchFileException) { @@ -151,9 +151,7 @@ private fun readPluginId(pluginJar: Path): String? { } } -private fun disableCompatibleIgnoredPlugins(context: BuildContext, - configDir: Path, - explicitlyEnabledPlugins: Set) { +private fun disableCompatibleIgnoredPlugins(context: BuildContext, configDir: Path, explicitlyEnabledPlugins: Set) { val toDisable = LinkedHashSet() for (moduleName in context.productProperties.productLayout.compatiblePluginsToIgnore) { val pluginXml = context.findFileInModuleSources(moduleName, "META-INF/plugin.xml")!!