0
我有一个简单的gradle任务,它可以压缩maven jar(例如)。在任务执行之前,你如何获得这个任务不能下载jar?防止Gradle Zip任务在任务执行前下载依赖关系
apply plugin:'base'
repositories { mavenCentral() }
configurations.create 'myDep'
dependencies {
myDep 'commons-io:commons-io:1.0'
}
task zip(type:Zip) {
from { configurations.myDep.collect { zipTree(it) } }
}
如果我运行“gradle这个任务的,它会意外下载的jar:
$ gradle tasks
Download http://repo1.maven.org/maven2/commons-io/commons-io/1.0/commons-io-1.0.pom
Download http://repo1.maven.org/maven2/commons-io/commons-io/1.0/commons-io-1.0.jar
:tasks
好吧,我现在明白了。这很不幸,因为“gradle tasks”可能是大多数用户运行的第一个命令。我有一些> 200MB的依赖关系。我不认为gradle应该下载依赖来打印任务列表。 – cmcginty
它通常不会,但它在这种特殊情况下,并且仅用于“myDep”的依赖关系。也许'zipTree'可以接受'Iterable'。那么你不必使用'collect',这个阶段的配置就不会得到解决,问题就会消失。 –