【发布时间】:2016-09-12 06:29:40
【问题描述】:
我正在尝试分解 doFirst 块中的一些 jar 文件,如下所示 -
task copyBinaries(type: Copy){
def Jar1 = ""
def Jar2 = ""
def Jar3 = ""
doFirst {
Jar1 = configurations.Lib1.singleFile
Jar2 = configurations.Lib2.singleFile
Jar3 = configurations.Lib3.singleFile
}
inputs.files configurations.Lib1
inputs.files configurations.Lib2
inputs.files configurations.Lib3
from(zipTree(file(Jar1))) {
into('jar_folder1')
}
from(zipTree(file(Jar2))) {
into('jar_folder2')
}
from(zipTree(file(Jar3))) {
into('jar_folder3')
}
into('build/libs/')
}
}
为了避免在配置阶段解决依赖关系,我从 doFirst 块中的配置中提取文件名。问题是,由于 Copy 任务在配置阶段需要复制的源和目标,所以 gradle 将 Jar1、Jar2、Jar3 视为空字符串并抛出错误。 我正在寻找一种方法让 Copy 任务在执行阶段(在执行 doFirst 块之后)接收参数(源文件)。
我该如何解决这种情况?谢谢。
【问题讨论】:
标签: gradle configuration dependencies