2015-07-20 54 views
0

我正在嘗試爲我的自定義編程語言構建library.jar。該庫包含用該語言編寫的Java類和類。我已經設法編譯編譯器,在這些類上運行它,並在名爲dbin的文件夾中生成輸出文件。Gradle:Jar任務不包括具有未知擴展名的文件

- src 
    - ... 
- build 
    - ... 
- dbin 
    - Foo.class 
    - Custom.dyo // <- the new file type 
- build.gradle 

我所試圖實現的是將所有文件複製在dbin目錄中的Jar文件,我試圖與下面的腳本:

task buildLib(type: Jar, dependsOn: [ 'classes', 'compileDyvilLibrary' ]) { 
    from sourceSets.library.output 

    // Include Compiler Output 
    from fileTree(dir: 'dbin', includes: [ '**/*.class', '**/*.dyo' ]) 

    baseName = 'dyvil-library' 
} 

的問題是,雖然它是明確包含,jar文件不包含任何.dyo文件。

回答

0

from行在配置時執行(即在任何任務運行之前)如果在實例化fileTree時指定的目錄位置中不存在文件,那麼它將不包含任何文件。

您可以嘗試通過使from方法解決這個做一個懶惰的評價:

from { fileTree(dir: 'dbin', includes: [ '**/*.class', '**/*.dyo' ]) } 

你可能也想試試這個語法:

from ('dbin') { 
    include '**/*.class' 
    include '**/*.dyo' 
} 
相關問題