使用最新版本的gradle(8.5),我想编译Groovy code before Kotlin代码.这将使我能够使用自顶向下的方法将整个项目从Groovy迁移到Kotlin.(即,将一个控制器迁移到Kotlin,而底层依赖关系仍保留在Groovy中).
Kotlin Gradle插件似乎更新了任务要求,强制首先进行Kotlin编译.
- Kotlin插件希望在
compileJava
之后发生 - Groovy插件希望首先执行
compileJava
因此,如果不触发编译器Kotlin来阻止我的目标,我就不能做一个编译器Groovy.
任务树输出:
:compileGroovy
\--- :compileJava
\--- :compileKotlin
\--- :checkKotlinGradlePluginConfigurationErrors
build.gradle
年中使用的插件:
plugins {
id 'groovy'
id 'application'
id 'org.jetbrains.kotlin.jvm' version '2.0.0-Beta2'
id "com.dorongold.task-tree" version "2.1.1"
id 'idea'
}
复制步骤:
- 在
src/main/groovy
中放置一个Groovy类文件(即作者) - 在
src/main/kotlin
中放置一个依赖于该Groovy类的Kotlin类文件.(即,书)
其他研究笔记:
- 为早期Gradle版本提供的解决方案不再起作用: Gradle 6+ : compile groovy before kotlin(出现一条错误消息,将‘classpath’作为编译kotlin的未知属性)
- 下面是另一个不起作用的: Compile Groovy and Kotlin?
- 还有一种不再奏效的方法:Gradle Kotlin Dsl Build for a Kotlin Gradle Plugin, which depends on a Groovy Class in the same Project