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

问题描述:

是否有一种优雅的方式来使用特定的依赖作为文件对象(对文件对象进行依赖转换)。 通常需要将文件作为参数传递给任务/蚂蚁任务等。 我帮我 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' } 

其中depDependency类型和返回类型为Set<File>

欲了解更多详情,请参阅Configuration javadoc