2016-08-03 45 views
0

我有一個項目的結構,像這樣:gradle這個「從」不移動文件

root |__ project 1 |__ sub 1 |__ src |__ main |__ config |__ build.gradle |__ project 2 |__ build.gradle |__ ...

我有一個rpm建設任務,通過各子項目進行迭代,並且如果它們包含src/main/config,將它複製到一個目錄在轉速如此: rootProject.subprojects { from (it.projectDir.name + 'src/main/config' { into 'conf' } }

我已經嘗試from參數的不同變化給路徑。絕對的,相對的,以project1/sub1/src/main/config/爲參數。他們似乎沒有工作。任何意見,將不勝感激。

回答

0

恕我直言,你在這裏什麼都不做:從和到是部分的副本任務不是子項目。

有一個在你的腳本

沒有複製任務試着這麼做(假設配置是一個文件):

rootProject.subprojects { 
    copy() { 
     from('sub1/src/main') 
     into('/tmp') 
     include('config') 
     // rename { it + ".${name}" } -> config.subproject1 ... bof 
     // better have project.config 
     rename { "${name}.config" } 
    } 
} 

如果一個目錄(它可能是這種情況)是這樣的:

rootProject.subprojects { 
     copy() { 
      from ('sub1/src/main/config') 
      into("/tmp/${name}-config") 
     } 
    } 

當然改變/tmp來的東西適合你

nb:名稱是指項目名稱,如果深入,不確定它在某些子任務中不會變得含糊不清。您可以添加:def projectName = name在子項目塊的開始,並使用項目名稱,而不是

+0

對不起,我應該更清楚,這是所有在複製任務完成。 –

0

我不知道爲什麼這個工作,但通過改變代碼: rootProject.subprojects { from (it.projectDir.name + 'src/main/config' { into 'conf' } } rootProject.subprojects { from (new File(it.projectDir, 'src/main/conf')) { into 'conf' } } 也許有人有更多的經驗和專業知識可以解釋爲什麼這個作品

+0

嘿,你是不是在src/main/config之後錯過了')'? – Alexiy