基于复制的任务似乎不执行()

时间:2013-08-15 04:41:51

标签: gradle

我的build.gradle文件中包含以下代码:

task untarServer(type:Copy) {
    from tarTree('build/libs/server.tar.gz')
    into project.ext.tomcat + '../'
} << {
    println 'Unpacked, waiting for tomcat to deploy wars ...'
    sleep 10000
}

task deploy << {
    tarball.execute()
    untarServer.execute()
    stopTomcat.execute()
    startTomcat.execute()
}

除了untarServer之外,一切都很好用,看起来根本不会运行。 Untar基于documentation的示例。可能由于时间已晚,我做了些傻事,但我很想念它。我怎样才能解决这个问题?我在脑海里想到我可以放弃使用ant.untar,但如果可能的话,我想以原生的方式进行操作。

编辑:我怎么知道它没有运行?因为println语句从不显示,所以buld不会暂停10秒,并且tarball的内容不会显示在“into”位置。

1 个答案:

答案 0 :(得分:0)

之前我没有看过} << {语法;我将其更改为大括号内的doLast { ... }untarServer << {(作为单独的语句)。此外,您永远不应该在任务上调用execute()。它完全没有支持,坏事也会发生。相反,您应该建立任务关系(dependsOnmustRunAfterfinalizedBy)。