KTIJ-39543 [kotlin] Fix lombok:config relative path calculation

(cherry picked from commit 4c291c7e00efd8b17e884c9cd6bd49a56c006938)

IJ-CR-213570

GitOrigin-RevId: 0826b0638bf40ea061f008c3211b8163118a8247
This commit is contained in:
Vladimir Dolzhenko
2026-07-15 12:23:23 +00:00
committed by intellij-monorepo-bot
parent 62acc2e3fd
commit 590047bd87
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.idea.maven.createChildTag
import org.jetbrains.kotlin.idea.maven.findSubTagOrCreate
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
import java.nio.file.Files
import kotlin.io.path.relativeTo
abstract class AbstractMavenKotlinCompilerPluginProjectConfigurator: KotlinCompilerPluginProjectConfigurator {
override fun isApplicable(module: Module): Boolean =
@@ -180,15 +181,16 @@ class JpaMavenKotlinCompilerPluginProjectConfigurator : AbstractMavenKotlinCompi
private fun Module.findLombokConfigPath(): String? {
val mavenProjectsManager = MavenProjectsManager.getInstance(project)
val mavenProject = mavenProjectsManager.findProject(this) ?: return null
val moduleConfig = mavenProject.directoryPath.resolve("lombok.config")
if (Files.exists(moduleConfig)) return "lombok.config"
val parentConfig = mavenProject.parentId
val projectPath = mavenProject.directoryPath
val configName = "lombok.config"
val moduleConfig = projectPath.resolve(configName)
val lombokConfig = moduleConfig.takeIf(Files::exists) ?: mavenProject.parentId
?.let(mavenProjectsManager::findProject)
?.directoryPath
?.resolve("lombok.config")
?.resolve(configName)
?.takeIf(Files::exists)
return parentConfig?.toString()
val relativeTo = lombokConfig?.relativeTo(projectPath)
return relativeTo?.toString()
}
internal fun PomFile.addAllOpenKotlinCompilerPluginPreset(kotlinPlugin: MavenDomPlugin, kotlinCompilerPluginId: String) {