KTC-5768 Reorganize packaging of the Kotlin Toolchain plugin

- Extract tooling libraries into modules
- Extract plugin descriptor module instead of using core module as both the content and descriptor

(cherry picked from commit 2edb04e444b424febb1099decdb44daf8848d909)
IJ-MR-222180
(cherry picked from commit 44f2dfa84bde686959e0704e777f640886349d41)

GitOrigin-RevId: 1dfe5ce6ce2e9aedb93c1a7cc6affb232468624c
This commit is contained in:
Stanislav Utikeev
2026-09-16 01:47:59 +00:00
committed by intellij-monorepo-bot
parent c68f7ee701
commit 8062c061ff
2 changed files with 14 additions and 7 deletions
@@ -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
@@ -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