2017-02-24 46 views
3

TL;博士:我無法配置的IntelliJ產生在同一目錄gradle這個註解處理器中的IntelliJ和搖籃

我有使用immutables註解處理器的一個小項目的Java文件。 它按照預期在gradle命令行構建中工作,但我無法讓IntelliJ將生成的文件輸出到同一目錄。

整個項目可在GitLab

搖籃配置
我用的是如下因素gradle這個插件:

  • gradle-idea plugin它處理的思路配置
  • gradle-apt-plugin它提供了易於配置並處理與註釋處理相關的編譯類路徑和構思配置(如果也應用了構思插件)

構建腳本的相關部分(link to the full listing):

apply plugin: 'java' 
apply plugin: "net.ltgt.apt" 
apply plugin: 'idea' 

dependencies { 
    def immutablesVersion = '2.3.9' 
    compileOnly "org.immutables:value:$immutablesVersion:annotations" 
    compileOnly "org.immutables:encode:$immutablesVersion" 
    apt "org.immutables:value:$immutablesVersion" 
} 

當啓動./gradlew build一切都按預期: enter image description here

  1. 源文件DataEncoding.java被處理的所產生的java文件DataEncodingEnabled.java結束於
  2. 預期的包com.tmtron.immutables.data
  3. 並將所生成的文件下也編譯到一個.class文件

在我的IntelliJ激活註釋處理的建議由gradle-apt-plugin docsenter image description here

然後我執行./gradlew clean以確保以前的文件不存在,然後在IntelliJ中單擊Build - Build Project
註釋處理器執行,但問題是,所生成的java文件中的錯誤的位置結束: enter image description here

它是:/建造/生成/源/公寓/主/ 構建/生成/ source/apt/main /com.tmtron.immutables.data
粗體部分是多餘的。

我在做什麼錯,我該如何正確設置它,以便IntelliJ和gradle生成相同目錄下的文件?

注:

  • 我當然已經嘗試過,只是留在的IntelliJ註釋配置了「生產源目錄」空的,但他不工作:然後它會自動使用「生成」,我也結束了一個錯誤的路徑。
  • 的IntelliJ版2016年3月4日

回答

3

有使用父目錄在其中的IntelliJ工作正常一個簡單的解決方法2016年3月4日

  • 生產源目錄:../main
  • 測試源目錄:../test

現在gradle和IntelliJ會生成相同目錄的代碼。修正了GitLab project V0.0.2

另見:apt-gradle-plugin issue#35