Java 如何添加delombok代码compileKotlin任务

Java 如何添加delombok代码compileKotlin任务,java,kotlin,gradle,lombok,gradle-kotlin-dsl,Java,Kotlin,Gradle,Lombok,Gradle Kotlin Dsl,免责声明:这是Gradle特有的,而不是lombok或Kotlin特有的。这适用于Maven,但我正在努力解决如何使用Gradle实现同样的效果(以我一半的知识)。 如何使用src/main/java和${project.buildDir}/generated/sources/delombok/java/main为lombok和Kotlin编译器选择性地提供源代码集 问题详细信息和用例:我从Java调用Kotlin,一些Kotlin文件使用带有Lombok注释的Java类。所以我的想法是(我在M

免责声明:这是Gradle特有的,而不是lombok或Kotlin特有的。这适用于Maven,但我正在努力解决如何使用Gradle实现同样的效果(以我一半的知识)。 如何使用
src/main/java
${project.buildDir}/generated/sources/delombok/java/main
为lombok和Kotlin编译器选择性地提供源代码集

问题详细信息和用例:我从Java调用Kotlin,一些Kotlin文件使用带有Lombok注释的Java类。所以我的想法是(我在Maven中也遵循了这一点)首先让delombok生成源->然后让Kotlin使用delombok生成的源集来准备最终结果。 问题是,当我这样做时,它会将这个源代码集附加到
src/main/java
(这会导致编译失败)

当我使用
setSrcDirs
而不是像下面这样使用
srcDirs
时,lombok无法从
src/main/java
中提取java文件(这很奇怪,因为我只在
compileKotlin
中设置了它,而不是顶级源代码集)


我过去在支持Lombok的Java项目中使用过Kotlin,没有任何问题。 事情可能已经发生了变化,但我记得我所做的唯一一件事是将Lombok声明为编译时依赖项和注释处理器:

dependencies {
    compileOnly("org.projectlombok:lombok:1.18.8")
    annotationProcessor("org.projectlombok:lombok:1.18.8")
}

你的Gradle文件中确实有
ourceSets
,还是这是一个复制/粘贴错误?哦,对不起,这是粘贴错误。让我更正一下,谢谢,但它已经不起作用了:(
compileKotlin {
    dependsOn(delombok)
    sourceSets.main {
        java.setSrcDirs(listOf("${project.buildDir}/generated/sources/delombok/java/main"))
    }
}
dependencies {
    compileOnly("org.projectlombok:lombok:1.18.8")
    annotationProcessor("org.projectlombok:lombok:1.18.8")
}