Gradle 6+:在Kotlin之前编译groovy

nvbavucw  于 2022-11-01  发布在  Kotlin
关注(0)|答案(1)|浏览(177)

我正在做一个结合了groovykotlin的项目。我的Kotlin类需要groovy部分的对象,我如何让gradle在编译kotlin之前编译groovy?
我将Gradle 6.3kotlin-dsl一起使用
我尝试了几种解决方案:srcsets顺序,tasks顺序,...似乎没有任何工作
你知道吗?

vhipe2zx

vhipe2zx1#

感谢tim_yates!(为什么这个文档没有出现在谷歌上😧)
以下是kotlingroovy文档的改编

tasks.named<AbstractCompile>("compileGroovy") {
    // Groovy only needs the declared dependencies
    // (and not longer the output of compileJava)
    classpath = sourceSets.main.get().compileClasspath
}

tasks.named<AbstractCompile>("compileKotlin") {
    // Java also depends on the result of Groovy compilation
    // (which automatically makes it depend of compileGroovy)
    classpath += files(sourceSets.main.get().withConvention(GroovySourceSet::class) { groovy }.classesDirectory)
}

相关问题