gradle: 跳过任务 ': 因为它没有源文件。并且不生成 zip 文件

gradle: Skipping task ': as it has no source files. and does not generate zip file

我正在使用 Gradle 1.4 版本。我有以下任务。 'createWar' 工作正常并为我生成所需的 'war 文件。 但是 'createServerPackage' 不会为我生成 'zip' 文件。 下面是我的 build.gradle 文件。有人可以帮我解决这个问题吗?

task createWar(type: War, dependsOn: syncConfiguration){
}
task createServerPackage(type: Zip) {
    description = "Creates the full server.zip package for distribution."
    dependsOn createWar

    String filesDirectory = 'upgradeFiles'

    from("${rootDir.absolutePath}/server/build/libs/adapter.war") {
        into(filesDirectory)
    }

    archiveName 'server.zip'
    destinationDir file(buildDir)
}

以下是编译 gradle 的片段。

 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':createWar'
 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :createWar UP-TO-DATE
 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :createServerPackage
 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':createServerPackage'
 [INFO] [org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter] Skipping task ':createServerPackage' as it has no source files.
 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':createServerPackage'
 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :createServerPackage UP-TO-DATE

不需要自己构建war路径。应该怎么做:

apply plugin: 'war'

task createWar(type: War)

task createServerPackage(type: Zip) {
    description = "Creates the full server.zip package for distribution."
    dependsOn createWar

    String filesDirectory = 'upgradeFiles'

    from(createWar.outputs) {
        into(filesDirectory)
    }

    archiveName 'server.zip'
    destinationDir file(buildDir)
}

可以找到Demo here