zip依赖项到文件不再起作用

时间:2014-09-10 13:09:17

标签: file-io gradle

基于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。如果我保留那样的代码,那么任务就会在开始时执行,根本不会发生任何事情。如果我添加<<任务并使其依赖于我的战争构建任务,在战争结束时它声称是最新的但没有发生任何事情。

我的一个问题似乎是根本没有创建要复制的文件集。

我能做些什么才能让这些东西再次运作?

1 个答案:

答案 0 :(得分:1)

任务不会在开始时执行,但调用.files会过早地解析配置。第一条from行需要(它是多余的,并且当它不应该时也会调用.filesdoLast块可疑,应该可以转换为单独的Copy任务。请尝试from

,而不是第二个exclude和最后一个from (configurations.compile - configurations.providedCompile)