2016-01-28 64 views
0

是否可以將文件從一個HTTP位置使用gradle這個任務是否可以使用gradle copy任務從url複製文件?

我想是這樣的

task copyDatabaseFile(type: Copy) { 
    from 'http://somelocation/somedatabasefile.cdl'; 
    into 'target location' 
} 

副本,但是導致

Cannot convert URL 'http://server.cequint.com/cdldb/uscc/cityid.cdl' to a file. 

我已經無法找到任何類似事物的gradle示例

+0

你需要它是一個複製任務嗎?因爲不然的話,你總是可以使用一點點groovy來抓取一個在線文件 – RaGe

+0

我不確定它是否需要成爲一個任務還沒有,我還沒有足夠熟悉gradle知道。但該文件需要在實際構建開始之前被複制。 – Gruntcakes

回答

0

可以使用常規下載和從URL保存文件:

task downloadFile() << { 
    def address='url/to/download.ext' 
    def target='/path/tosave' 

    new File("${address.tokenize('/')[-1]}").withOutputStream { out -> 
     new URL(address).withInputStream { from -> out << from; } 
    } 
} 

如果需要此任務構建之前始終運行(只)任務運行,你可以添加到你的build.gradle:

build.dependsOn downloadFile

相關問題