基于Gradle : Copy all test dependencies to a zip file
我创建了
task zipDeps(type: Zip) {
from configurations.testCompile.allArtifacts.files
from configurations.testCompile
exclude { details -> details.file.name.contains('servlet-api') }
exclude { details -> details.file.name.contains('el-api') }
exclude { details -> details.file.name.contains('jsp-api') }
exclude { it.file in configurations.providedCompile.files }
archiveName "${rootProjectName}-runtime-dependencies_full.zip"
doLast{
ant.copy (toDir : "$buildDir/libs/") {
fileset(file:"$buildDir/distributions/${rootProjectName}-runtime-dependencies_full.zip")
}
}
}
这一点很好,直到我迁移到gradle 2.0。如果我保留那样的代码,那么任务就会在开始时执行,根本不会发生任何事情。如果我添加<<任务并使其依赖于我的战争构建任务,在战争结束时它声称是最新的但没有发生任何事情。
我的一个问题似乎是根本没有创建要复制的文件集。
我能做些什么才能让这些东西再次运作?
答案 0 :(得分:1)
任务不会在开始时执行,但调用.files
会过早地解析配置。第一条from
行需要(它是多余的,并且当它不应该时也会调用.files
。 doLast
块可疑,应该可以转换为单独的Copy
任务。请尝试from
。
exclude
和最后一个from (configurations.compile - configurations.providedCompile)