在doLast {}内部,gradle tar.gz无法正常工作/执行

时间:2017-05-02 15:31:29

标签: gradle build.gradle

我正在尝试在doLast {}中创建tar.gz文件。 因此,当它在doLast {}内部并且没有创建tar.gz文件时,代码根本不执行。 贝娄是我的代码:

task bundleCore(type:Tar,
         dependsOn[libCopy,nativeLibCopy,externalJarsCopy]){
doLast{
  from project.ext.get("tmpBundleDir")+"/"+coreSrcStr
  archiveName = coreSrcStr+".tar.gz"
  destinationDir = file(project.ext.get("src"))
  extension = 'tar.gz'
  compression = Compression.GZIP
  }
}

请建议任何解决方案,因为我无法删除doLast {}部分。

2 个答案:

答案 0 :(得分:0)

  

请建议任何解决方案,因为我无法删除doLast {}部分。

那么,在这种情况下,它将无法正常工作。您正尝试在执行之后配置任务。这应该如何运作?

通常,您在配置阶段期间配置任务。在执行阶段期间,可以通过doFirst准备任务,然后执行(其操作),之后调用doLast(例如,用于记录或清理)。

答案 1 :(得分:0)

使用蚂蚁创建tar克服了这个问题。

task createTar{
    doLast{
        ant.tar(destfile: <tar file name>,
                basedir:<directory path to be zipped>, compression:"gzip" )
        }
    }

请向Tar寻求帮助