当前位置: 首页 > 知识库问答 >
问题:

Gradle:如何为分发插件创建的ZIP文件生成sha-256哈希?

欧阳杰
2023-03-14

我很难把Gradle分发插件和校验和插件放在一起。

task createChecksums(type: Checksum, dependsOn: distZip) {
    files = fileList("${buildDir}/distributions")
    outputDir = "${buildDir}/distributions"
    algorithm = Checksum.Algorithm.SHA256
}

问题:

  1. 如何获取分发插件生成的所有文件的列表?fileList()方法不起作用

共有1个答案

艾才良
2023-03-14

终于找到了我问题的解决方案:

task createChecksums(type: Checksum, dependsOn: build) {
   files = fileTree(dir: "${buildDir}/distributions")
   outputDir = new File("${buildDir}/distributions")
   algorithm = Checksum.Algorithm.SHA256
}

build.finalizedBy(createChecksums)
  1. fileTree()读取目录内容
  2. 通过设置finalizedBy,整个构建任务可以被任务跟踪,因此忽略分发插件
  3. outputDir需要一个File对象,而不是String
 类似资料:
  • 我有一个followgradle任务,它负责包装。它在其中生成一个zip文件。但是,作为最终发行版的一部分,我正在尝试在zip文件中创建一个空文件夹调用日志。 上面的代码不起作用,我已经试过了 然后复制 问题是,如果我运行gradleclean包,它会清除导致日志文件夹未创建的构建文件夹。有没有人能解决在我们试图创建的zip发行版中创建空文件夹的问题?

  • 我想使用CREATE USER命令和已经散列的密码摘要创建一个Postgres用户。经过大量搜索,我认为只有MD5才有可能,直到我找到这个链接。我已经验证了它是这样工作的: 然后,我可以使用密码登录该用户,本文不一定说,但它是“postgres”。现在我知道这是可能的,如何使用.NET 5生成Postgres 13将接受的scram-sha-256摘要?我见过其他Postgres文章使用过时的MD

  • 问题内容: 在纯Java6中为大型文件创建SHA-1的最佳方法是什么?如何实现此方法: 问题答案: 使用类并逐个提供数据。下面的示例忽略了诸如将byte []转换为字符串并关闭文件之类的细节,但是应该给了您大致的理解。

  • 问题内容: 我知道字符串“ foobar” 使用http://hash.online-convert.com/sha256-generator生成SHA-256哈希 但是命令行shell: 生成不同的哈希。我想念什么? 问题答案: 通常会输出换行符,用禁止。尝试这个:

  • 我正在尝试使用亚马逊的弹性代码转换器。这里我需要sha-256散列一个字符串;http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html 我已经尝试了我在网上找到的任何方法,但我找不到与页面和一些在线哈希网站提供的相同的结果。 下面是要散列的字符串,您可以从上面的链接中找到; 以下是预期结果: 3

  • 我试图在ZIP文件内创建一个ZIP文件,以重新构建以前在内存中的zip结构,我在Java。 我失败了,因为我得到了一个错误的内部ZIP内创建的初始ZIP文件。文件已损坏。当试图打开它时,我得到一个“文件的意外结局”。 我得到了这个结构: -input.zip--InnerInput.zip 代码使用java Stack和Map在内存中解压。然后它创建input2.zip,内部nput.zip。 总