Eclipse中Kotlin编译器的输出文件夹

Eclipse中的Jetbrains Kotlin编译器输出到Eclipse编译器插件中的隐藏文件夹。 然后通过Eclipse Kotlin类路径容器使该隐藏文件夹可用。

在bndtools中,我们需要一个普通的文件系统文件夹,因为bnd既可以在文件系统中运行,也可以在Eclipse中运行。 由于该文件夹是一个链接资源,所以没有已知的方式在Eclipse之外进行翻译。

任何人都知道如何告诉Kotlin编译器只是在bin文件夹中输出它?

目前,这在Kotlin Eclipse插件中是不可能的。

为了使Java可以使用Kotlin代码,Kotlin插件生成所谓的轻量级类文件到这个文件夹。 这些类文件不包含方法的主体,它们存储在内存中。

用于运行应用程序的实际类文件仅在启动之前生成,并生成为默认输出文件夹。 现在,我们无法在合理快速的情况下生成类文件,因为插件中没有增量编译:请随时为此问题打个补丁。

从Kotlin插件代码的简短分析看来,正确的方法是KotlinCompiler.compileKotlinFiles 。 它被称为两种情况下:

  1. KotlinBuilder.build – 这是项目构建中调用的一个; 它会调用堆栈技巧(或者更确切的说是一个破解…)来检查是否从LaunchConfigurationDelegate ,并根据结果编译整个项目(通过自己私有的有趣的compileKotlinFiles ),或者只是在内存中创建存根。
  2. KotlinCompilerUtils.compileWholeProject – 这实际上是从1。 漂亮的静态方法,完美的滥用,直到问题在插件中正确解决。 🙂

所以,我将使用2中的方法,和1中的文件中的compileKotlinFiles类似。