我们有一些“重量级”工件,但我们不一定总是需要它们。如果我们有一些依赖于它们的任务,那么无论我们调用哪个任务,它们都会被下载。
如果 gradle 仅在实际需要时才下载依赖项,那就太好了。
例子
configurations {
webresources
}
dependencies {
webresources my:hugeIconCollection:2.0@zip
}
def unpackIcons = tasks.register('unpackIcons', Copy) {
configurations.webresources.resolveConfiguration.resolvedArtifacts.each {
from zipTree(it.file)
into 'resources/path'
}
}
Run Code Online (Sandbox Code Playgroud)
现在只需运行gradle help就会下载hugeIconCollection.zip. 该代码使用了“配置避免 API”,但没有帮助。不过,最好只在unpackIcons任务(或依赖于它的任务)运行时下载资源,然后将文件解压缩到目标路径。
gradle ×1