繁体   English   中英

使用Gradle 5.x创建Jar和Tar

[英]Creating Jar and Tar using Gradle 5.x

我正在为要迁移到其上的旧项目编写新的Gradle脚本。

我最初是使用Gradle 4.x DSL编写脚本的,但我决定将其升级到5.x,以更好地进行将来的验证。

我的任务之一是通过设置jar名称和扩展名以及在我的项目根目录的文件夹下创建一个新文件来创建jar。

当我将脚本迁移到gradle 5.X时,以下属性已被弃用:

baseName,扩展名,archiveName和destinationDir。

我曾尝试将其调整为新的约定,但无法找到那些属性存在问题:

Could not set unknown property 'archiveDestinationDirectory' for task ':jar' of type org.gradle.api.tasks.bundling.Jar."

我尝试过在线找到解决方案,但是还没有找到合适的方法或使用Gradle 5.x的示例。

现在,第二个问题围绕着创建焦油的概念展开。 再次,我没有找到很好的例子来证明这一点。 到目前为止,我的脚本已执行此操作,这将创建tar,但不保留正确的文件层次结构:

task createTar(type: Tar) {
    archiveBaseName = 'info_tar'
    archiveExtension = 'gz'
    compression = Compression.GZIP
    from ('..') {
        include('bin/**')
        include('sounds/**')
        include('classes/**')
    }
    archiveFileName = archiveBaseName.get() + '.' + archiveExtension.get()
    //cleanup of temporary directories
    delete BIN_TARGET, SOUNDS_TARGET, CLASSES_TARGET
}

我的目标是制作一个包含文件夹bin,声音和类的tar。 任何人都可以帮助实现这一目标吗?

  • baseName: 文档显示已弃用它,而推荐使用archiveBaseName
  • 扩展名: 该文档显示不推荐使用archiveExtension
  • archiveName: 该文档显示不推荐使用archiveFileName
  • destinationDir :文档显示不推荐使用它,而推荐使用destinationDirectory

Jar中没有archiveDestinationDirectory属性。 文档显示正确的属性命名为destinationDirectory

要将目录本身包含到tar中,您需要使用而不是正在使用的内容:

from('..') {
  include('bin/**')
  include('sounds/**')
  include('classes/**')
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM