【问题标题】:How to compile Xtend + Java classes with Gradle如何使用 Gradle 编译 Xtend + Java 类
【发布时间】:2017-02-23 13:29:20
【问题描述】:

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

我非常了解 Xtext Gradle 插件 (http://xtext.github.io/xtext-gradle-plugin/),据我所知,它与 Java 插件的编译步骤挂钩。

但是,由于缺少 Xtend 类(尚未生成...)导致的各种引用错误,CompileJava 任务首先无法完成。一般来说,一个合适的工作流程应该是

  1. 编译 Java 并忽略错误
  2. 编译 Xtend
  3. 再次编译 Java

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

【问题讨论】:

    标签: gradle xtend


    【解决方案1】:

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

    plugins {
      id "org.xtext.xtend" version "1.0.0"
    }
    
    apply plugin: 'org.xtext.xtend'
    
    sourceSets {
      main.xtendOutputDir = 'xtend-gen'
      test.xtendOutputDir = 'test/xtend-gen'
    }
    

    构建之后应该可以工作。

    【讨论】:

    • 你应该使用“org.xtext.xtend”版本“1.0.17”
    • 太好了,成功了(除了错字,它是apply plugin: 'org.xtext.xtend')。我不知道为什么它一开始就没有运行,但还是谢谢你!
    • 已在答案中修复。
    猜你喜欢
    • 2018-01-27
    • 2011-12-08
    • 2016-08-29
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 2014-04-05
    • 2015-02-01
    • 1970-01-01
    相关资源
    最近更新 更多