diff --git a/aether-dependency-resolver/plugin/plugin-content.yaml b/aether-dependency-resolver/plugin/plugin-content.yaml index 2a9f286ba792..511a50764343 100644 --- a/aether-dependency-resolver/plugin/plugin-content.yaml +++ b/aether-dependency-resolver/plugin/plugin-content.yaml @@ -4,6 +4,7 @@ library: maven-resolver-provider files: - name: $MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-interpolation/1/plexus-interpolation-1.jar + - name: $MAVEN_REPOSITORY$/org/apache/maven/maven-artifact/3/maven-artifact-3.jar - name: $MAVEN_REPOSITORY$/org/eclipse/sisu/org.eclipse.sisu.inject/0/org.eclipse.sisu.inject-0.jar reason: <- intellij.libraries.maven.resolver.provider - name: lib/intellij.libraries.plexus.utils.jar @@ -15,11 +16,6 @@ - name: lib/java-aetherDependencyResolver-plugin.jar modules: - name: intellij.java.aetherDependencyResolver.plugin -- name: lib/maven-artifact.jar - library: maven-resolver-provider - files: - - name: $MAVEN_REPOSITORY$/org/apache/maven/maven-artifact/3/maven-artifact-3.jar - reason: <- intellij.libraries.maven.resolver.provider - name: lib/maven-builder-support.jar library: maven-resolver-provider files: @@ -87,4 +83,4 @@ reason: <- intellij.libraries.maven.resolver.provider - name: lib/modules/intellij.java.aetherDependencyResolver.jar contentModules: - - name: intellij.java.aetherDependencyResolver + - name: intellij.java.aetherDependencyResolver \ No newline at end of file diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LibraryFilePacking.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LibraryFilePacking.kt index f53802b4680b..742d12bbf33e 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LibraryFilePacking.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LibraryFilePacking.kt @@ -24,12 +24,23 @@ private val agentLibrariesNotForcedInSeparateJars = listOf( "code-prompt-agents" ) +private val mavenLibrariesNotForcedInSeparateJars = listOf( + "maven-artifact", + "maven-central-configuration", + "maven-plugin-xml-parser", +) + +/** + * Libraries that have to stay standalone jar files: agents are attached by path at runtime, and `-rt` / `maven-` jars are loaded by + * external processes. Objenesis is deliberately absent - it is an ordinary library, and hoisting it out of the content module that wraps it + * left that module's jar empty, so every module depending on the wrapper failed to resolve the classes (IJPL-252372). + */ @Internal fun isSeparateLibraryJar(fileName: String): Boolean { return fileName.endsWith("-rt.jar") || fileName.startsWith("byte-buddy-") || (fileName.contains("-agent") && agentLibrariesNotForcedInSeparateJars.none { fileName.contains(it) }) || - fileName.startsWith("maven-") + (fileName.startsWith("maven-") && mavenLibrariesNotForcedInSeparateJars.none { fileName.contains(it) }) } @Internal