Skip to content

Commit 2e41ef2

Browse files
nixel2007Copilot
andcommitted
fix: merge LanguageTool language-module.properties in shadow JAR
DuplicatesStrategy.INCLUDE caused multiple language-module.properties entries in the shadow JAR. Java classloader picked only the last one (Russian), so TypoDiagnostic failed with 'en-US is not a language code known to LanguageTool'. Add PropertiesFileTransformer with Append merge strategy to properly combine all LanguageTool language classes into a single properties file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent b5963ff commit 2e41ef2

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

build.gradle.kts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,16 @@ tasks.jar {
143143

144144
tasks.shadowJar {
145145
duplicatesStrategy = DuplicatesStrategy.INCLUDE
146-
mergeServiceFiles() // Критично для плагинов Sonar
146+
mergeServiceFiles()
147147
transform(com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer::class.java) {
148148
resource.set("META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports")
149149
separator.set("\n")
150150
}
151+
transform(com.github.jengelman.gradle.plugins.shadow.transformers.PropertiesFileTransformer::class.java) {
152+
paths.set(setOf("META-INF/org/languagetool/language-module.properties"))
153+
mergeStrategy.set(com.github.jengelman.gradle.plugins.shadow.transformers.PropertiesFileTransformer.MergeStrategy.Append)
154+
mergeSeparator.set(",")
155+
}
151156
configurations = listOf(project.configurations["runtimeClasspath"])
152157
archiveClassifier.set("")
153158
}

0 commit comments

Comments
 (0)