2017-02-23 56 views
1

我想將包含Java和Xtend類的項目遷移到Gradle。不幸的是,我找不到任何可能實現Xtend部分的自動編譯。如何使用Gradle編譯Xtend + Java類

我很清楚Xtext Gradle插件(http://xtext.github.io/xtext-gradle-plugin/),據我所知掛鉤到Java插件的編譯步驟。

但是,由於缺少Xtend類(尚未生成...)導致的各種引用錯誤,CompileJava任務無法完成。在一般情況下,合適的工作流程應該是

  1. 編譯Java和忽略錯誤
  2. 編譯的Xtend
  3. 編譯Java再次

爲了得到它的工作,我需要一種方法來編譯Java和忽視沒有任何失敗的錯誤,我沒有找到任何解決方案。然後我需要重新執行編譯,我猜可能需要其他一些技巧來繞過Gradle的最新檢查機制。還是我完全錯誤?

回答

1

正確的順序應該是首先生成Xtend源,然後編譯所有內容。只需添加插件並添加新的源代碼,如下所示:

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

apply plugin: 'org.xtext.xtend' 

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

構建應該事後工作。

+0

你應該使用「org.xtext.xtend」版本「1.0.17」 –

+0

偉大的,工作(exep的錯字,它是'申請插件:'org.xtext.xtend'')。我不知道爲什麼它不是首先運行,但無論如何感謝你! – ChrisR

+0

已修復答案。 –