是否有一种优雅的方法可以将特定的依赖关系用作文件对象(对文件对象的强制转换依赖关系)。
通常需要将文件作为参数传递给任务/蚂蚁任务等。
我帮助了我
configurations.myDependency.files.iterator().next()
但这看起来不太直观。
答案 0 :(得分: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' }
其中dep
的类型为Dependency
,返回类型为Set<File>
。
有关详细信息,请参阅Configuration javadoc。