我正在用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首先:
compileKotlin.dependsOn = compileKotlin.taskDependencies.values - 'compileJava'
compileGroovy.dependsOn compileKotlin
compileGroovy.classpath += files(compileKotlin.destinationDir)
classes.dependsOn compileGroovy
明确地说,您可以选择是将Kotlin代码依赖于Groovy还是依赖Kotlin上的Groovy,但是您不必同时使用这两种方法。