2011-11-29 64 views
5

是否有一種優雅的方式來使用特定的依賴作爲文件對象(對文件對象進行依賴轉換)。 通常需要將文件作爲參數傳遞給任務/螞蟻任務等。 我幫我 configurations.myDependency.files.iterator().next() 但是這看起來不是很直觀。如何使用依賴關係作爲文件對象?

回答

7

我認爲你的意思是配置不依賴。假設你有這樣的:

configurations{ 
    myConf 
} 

dependencies{ 
    myConf 'mydep:mydep:1.0' 
} 

然後,如果你有信心也將是唯一一個在所有的依賴關係myConf的文件,那麼你可以做configurations.myConf.singleFile(返回類型爲File)。

但是,由於配置可以包含多個文件,爲了使代碼更加健壯,您應該遍歷configurations.myConf.files中的所有文件(返回類型爲Set<File>)。

如果你需要從你可以這樣做一個配置提取特定的相關性JAR:

configurations.myConf.files { dep -> dep.name == 'mydep' } 

其中depDependency類型和返回類型爲Set<File>

欲瞭解更多詳情,請參閱Configuration javadoc