如何使用依赖关系作为文件对象?
问题描述:
是否有一种优雅的方式来使用特定的依赖作为文件对象(对文件对象进行依赖转换)。 通常需要将文件作为参数传递给任务/蚂蚁任务等。 我帮我 configurations.myDependency.files.iterator().next()
但是这看起来不是很直观。如何使用依赖关系作为文件对象?
答
我认为你的意思是配置不依赖。假设你有这样的:
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。