如何使用依赖项作为文件对象?

时间:2011-11-29 17:08:18

标签: gradle

是否有一种优雅的方法可以将特定的依赖关系用作文件对象(对文件对象的强制转换依赖关系)。 通常需要将文件作为参数传递给任务/蚂蚁任务等。 我帮助了我    configurations.myDependency.files.iterator().next() 但这看起来不太直观。

1 个答案:

答案 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