【发布时间】:2018-12-13 10:20:04
【问题描述】:
我正在尝试在所有 Java、Groovy 和 Kotlin 之间进行联合/混合编译。 我目前正在研究一个理论,即如果可以使 groovyc 仅作为第一阶段发出存根文件,那么它应该是可能的。
可以吗?否则,是否有任何关于从 Groovy 的源代码中制作此类功能的指针?
这是完全混合编译的想法:
- 让 Groovyc 为其所有类创建 Java 存根。 AFAIU,它逐个文件地执行此“盲目”操作,而没有看到任何其他来源。 (这是关键,这个问题是关于什么的:只有 groovyc(或其中的一部分)生成存根)。
- 让 Kotlinc 编译 Kotlin 文件,基于 Java 的 Java 文件和 Groovy 的 Java 存根输入(通过将它们添加到 kotlinc 的类路径)
- 让 Javac 编译 Java 文件,基于 Groovy 的 Java 存根和 Kotlin 的类文件(通过将它们添加到 javac 的类路径,或为 Java 存根使用 -sourcepath)。
- 让 Groovyc 编译 Groovy 文件,基于 Java 的类文件和 Kotlin 的类文件的类型(通过将它们添加到 groovyc 的类路径)。
【问题讨论】:
标签: java groovy kotlin compilation groovyc