如何使用Gradle编译Xtend + Java类

时间:2017-02-23 13:29:20

标签: gradle xtend

我将包含Java和Xtend类的项目迁移到Gradle。不幸的是,我找不到任何实现Xtend部件自动编译的可能性。

我很清楚Xtext Gradle插件(http://xtext.github.io/xtext-gradle-plugin/)据我所知挂钩到Java插件的编译步骤。

但是,由于缺少Xtend类(尚未生成...)导致的各种引用错误,CompileJava任务无法在第一时间完成。通常,合适的工作流程应该是

  1. 编译Java并忽略错误
  2. 编译Xtend
  3. 再次编译Java
  4. 为了让它工作,我需要一种方法来编译Java并忽略没有任务失败的错误,我没有找到任何解决方案。然后我需要重新执行编译,我猜可能需要一些其他技巧来绕过Gradle的最新检查机制。还是我完全弄错了?

1 个答案:

答案 0 :(得分:1)

正确的顺序应该是首先生成Xtend源,然后编译所有内容。只需添加插件并添加新的sourceSet,如下所示

plugins {
  id "org.xtext.xtend" version "1.0.0"
}

apply plugin: 'org.xtext.xtend'

sourceSets {
  main.xtendOutputDir = 'xtend-gen'
  test.xtendOutputDir = 'test/xtend-gen'
}

构建应该在之后工作。