我正在使用 Groovy 和 Kotlin 开展一个小项目,我的 Kotlin 代码依赖于我的 Groovy 代码,而不是相反。但是,Kotlin 首先编译我的代码而不是 Groovy,因此,我得到了像 Unresolved reference: SiteRepository
有什么建议我可以通过更改构建顺序或明确依赖 Groovy 的 Kotlin 或任何其他建议来解决此问题?
最佳答案
可以这样做:
4.10 之后
Kotlin 优先:
//compileKotlin.dependsOn = compileKotlin.taskDependencies.values - 'compileJava'
compileGroovy.dependsOn compileKotlin
compileGroovy.classpath += files(compileKotlin.destinationDir)
classes.dependsOn compileGroovy
4.10 之前
Groovy 优先:
compileGroovy.dependsOn = compileGroovy.taskDependencies.values - 'compileJava'
compileKotlin.dependsOn compileGroovy
compileKotlin.classpath += files(compileGroovy.destinationDir)
classes.dependsOn compileKotlin
或Kotlin First:
compileKotlin.dependsOn = compileKotlin.taskDependencies.values - 'compileJava'
compileGroovy.dependsOn compileKotlin
compileGroovy.classpath += files(compileKotlin.destinationDir)
classes.dependsOn compileGroovy
需要明确的是,您可以选择您的 Kotlin 代码是依赖 Groovy 还是 Kotlin 上的 Groovy,但您不能同时拥有这两种方式。
关于gradle - 编译 Groovy 和 Kotlin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36214437/