2015-02-23 85 views
1

我使用的是application插件,並希望做這樣的事情:的gradle配置分發任務

的build.gradle

apply from: 'common.gradle' 

folder1Files = [] 
folder1Files << "file1.txt" 
folder1Files << "file2.txt" 

common.gradle

distributions { 
    main { 
    contents { 
     into ("folder1") { from(folder1Files) } 
    } 
    } 
} 

我明白,這可以通過在變量之後添加apply from來完成le定義,但我想知道是否有更多'防彈'/正確的方式?

換句話說,如何在配置分配任務之前定義用於配置分配任務的變量?

回答

1

看來,這是可能的,但你需要通過project實例交換變量。嘗試:

common.gradle

apply plugin: 'application' 

project.ext.folder1Files = [] 

distributions { 
    main { 
    contents { 
     into ("folder1") { from(folder1Files) } 
    } 
    } 
} 

的build.gradle

apply from: 'common.gradle' 

project.folder1Files << "file1.txt" 
project.folder1Files << "file2.txt" 
+0

這仍然需要正確的順序,雖然是少喊出來的 '砍!'。 – 2015-02-24 07:42:54

+0

認爲它會工作,對不起:/ – Opal 2015-02-24 07:45:53

+2

我想過的另一個選擇(也許矯枉過正)是創建一個插件負責配置並將所有內容添加到'項目',然後使'installDist'任務依賴於此 – 2015-02-24 08:11:29