IJPL-241314 Move Java DOM converter override to Java XML DOM module

Java-specific ConverterManager override must be registered after the XML DOM implementation service is available. Keeping that override in the broad Java implementation descriptor allows pluginized test runs to load Java before the DOM service and fail during application startup.

Move the override class into a dedicated Java XML DOM content module and wire that module into the Java plugin backend content. The module keeps the real JPS/Bazel dependency on intellij.xml.dom.impl; Product DSL generation leaves the embedded XML DOM runtime dependency implicit while preserving the build-time dependency edge.

IJ-MR-184958 IJ-MR-184993 IJ-MR-179029 IJ-MR-184126 IJ-MR-181153 IJ-MR-146078 IJ-MR-175479 IJ-MR-186058 IJ-MR-193195 IJ-MR-196957 IJ-MR-199124 IJ-MR-197441 IJ-MR-204135 IJ-MR-204674 IJ-MR-205883

GitOrigin-RevId: 3bca5bbbed58bb2a09db8408f460c887173daf9e
This commit is contained in:
Vladimir Krivosheev
2026-06-02 14:03:35 +00:00
committed by intellij-monorepo-bot
parent 38937755eb
commit 8cde6962c2
9 changed files with 71 additions and 4 deletions
+1
View File
@@ -676,6 +676,7 @@
<module fileurl="file://$PROJECT_DIR$/java/ide-customization/training/intellij.java.ide.customization.training.iml" filepath="$PROJECT_DIR$/java/ide-customization/training/intellij.java.ide.customization.training.iml" />
<module fileurl="file://$PROJECT_DIR$/java/ide-resources/intellij.java.ide.resources.iml" filepath="$PROJECT_DIR$/java/ide-resources/intellij.java.ide.resources.iml" />
<module fileurl="file://$PROJECT_DIR$/java/java-impl/intellij.java.impl.iml" filepath="$PROJECT_DIR$/java/java-impl/intellij.java.impl.iml" />
<module fileurl="file://$PROJECT_DIR$/java/xml.dom.impl/intellij.java.xml.dom.impl.iml" filepath="$PROJECT_DIR$/java/xml.dom.impl/intellij.java.xml.dom.impl.iml" />
<module fileurl="file://$PROJECT_DIR$/java/java-impl-inspections/intellij.java.impl.inspections.iml" filepath="$PROJECT_DIR$/java/java-impl-inspections/intellij.java.impl.inspections.iml" />
<module fileurl="file://$PROJECT_DIR$/java/java-impl-refactorings/intellij.java.impl.refactorings.iml" filepath="$PROJECT_DIR$/java/java-impl-refactorings/intellij.java.impl.refactorings.iml" />
<module fileurl="file://$PROJECT_DIR$/java/java-indexing-api/intellij.java.indexing.iml" filepath="$PROJECT_DIR$/java/java-indexing-api/intellij.java.indexing.iml" />
+1
View File
@@ -339,6 +339,7 @@ java/testFramework/shared
java/typeMigration
java/unscramble
java/vcs
java/xml.dom.impl
jps/antLayout
jps/jps-builders
jps/jps-launcher
@@ -1301,10 +1301,6 @@
<searchEverywhereResultsEqualityProvider implementation="com.intellij.ide.JavaClassAndFileEqualityProvider"/>
<applicationService serviceInterface="com.intellij.util.xml.ConverterManager"
serviceImplementation="com.intellij.util.xml.impl.JavaDomConverterManagerImpl"
overrides="true"/>
<packageDirectoryProvider implementation="com.intellij.psi.impl.file.JavaPackageDirectoryProvider" id="default"/>
<java.externalAnnotation.locationProvider
+3
View File
@@ -215,6 +215,9 @@
- name: lib/modules/intellij.java.vcs.jar
contentModules:
- name: intellij.java.vcs
- name: lib/modules/intellij.java.xml.dom.impl.jar
contentModules:
- name: intellij.java.xml.dom.impl
- name: lib/modules/intellij.jsp.jar
contentModules:
- name: intellij.jsp
@@ -45,6 +45,7 @@
<module name="intellij.java.structureView" required-if-available="intellij.platform.backend"/>
<module name="intellij.java.impl" required-if-available="intellij.platform.backend"/>
<module name="intellij.java.xml.dom.impl" required-if-available="intellij.platform.backend"/>
<module name="intellij.java.bookmarks" loading="optional"/>
<module name="intellij.java.impl.refactorings" required-if-available="intellij.platform.backend"/>
<module name="intellij.java.compiler.impl" required-if-available="intellij.platform.backend"/>
+37
View File
@@ -0,0 +1,37 @@
### auto-generated section `build intellij.java.xml.dom.impl` start
load("@rules_jvm//:jvm.bzl", "jvm_library")
jvm_library(
name = "xml.dom.impl",
module_name = "intellij.java.xml.dom.impl",
visibility = ["//visibility:public"],
srcs = glob(["src/**/*.kt", "src/**/*.java", "src/**/*.form"], allow_empty = True),
resources = glob(["resources/**/*"]),
resource_strip_prefix = "resources",
deps = [
"//java/java-impl:impl",
"//java/java-psi-api:psi",
"//xml/dom-impl",
]
)
jvm_library(
name = "xml.dom.impl_test_lib",
testonly = True,
module_name = "intellij.java.xml.dom.impl",
visibility = ["//visibility:public"],
srcs = glob([], allow_empty = True),
runtime_deps = [
":xml.dom.impl",
"//java/java-impl:impl_test_lib",
"//java/java-psi-api:psi_test_lib",
"//xml/dom-impl:dom-impl_test_lib",
]
)
### auto-generated section `build intellij.java.xml.dom.impl` end
### auto-generated section `iml intellij.java.xml.dom.impl` start
exports_files([
"intellij.java.xml.dom.impl.iml",
], visibility = ["//visibility:public"])
### auto-generated section `iml intellij.java.xml.dom.impl` end
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij.java.impl" />
<orderEntry type="module" module-name="intellij.java.psi" />
<orderEntry type="module" module-name="intellij.xml.dom.impl" />
</component>
</module>
@@ -0,0 +1,13 @@
<idea-plugin>
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
<dependencies>
<module name="intellij.java.impl"/>
<module name="intellij.java.psi"/>
</dependencies>
<!-- endregion -->
<extensions defaultExtensionNs="com.intellij">
<applicationService serviceInterface="com.intellij.util.xml.ConverterManager"
serviceImplementation="com.intellij.util.xml.impl.JavaDomConverterManagerImpl"
overrides="true"/>
</extensions>
</idea-plugin>