Adobe Illustrator可以创建一堆具有不同分辨率的文件,并将它们命名为[
'ldpi', 'mdpi', 'hdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi'
].each {
String type = it
task "copyAi_$it"(type: Copy) {
String ending = '_Artboard 1' + type + '.png'
from 'graphics_design/export/'
include '*' + ending
rename { String fileName ->
fileName.replace( ending, '.png' )
}
into 'app/src/main/res/drawable-' + type
}
}
task copyAiExport
copyAiExport.dependsOn copyAi_ldpi, copyAi_mdpi, copyAi_hdpi, copyAi_xhdpi, copyAi_xxhdpi, copyAi_xxxhdpi
并放在同一目录中。同时,Android希望图像具有相同的名称并位于不同的目录中。
我写了gradle脚本来进行文件复制和重命名:
copyAliExport
如您所见,我将明确地编写整个任务{{1}}的所有依赖项,枚举所有生成的任务。
我可以动态添加依赖项吗?
我在文档中找不到可理解的例子。
答案 0 :(得分:2)
你在找什么:
task all
[
1, 2, 3, 4,
].each { n ->
def t = task "task$n" {
doLast {
println n
}
}
all.dependsOn << t
}