代码之家  ›  专栏  ›  技术社区  ›  Dean Hiller

是否有必要在gradle 7.1.1中为每种类型生成5个工件?

  •  0
  • Dean Hiller  · 技术社区  · 3 年前

    关于以下项目 https://github.com/deanhiller/webpieces 当我跑的时候

    • /格拉德卢释放

    它将所有工件放在/tmp/myRepo中,用于开发版本。我不明白的是,为什么会生成这么多哈希文件->

    • core-asyncserver-2.1-developer。罐子
    • core-asyncserver-2.1-developer。罐子md5
    • core-asyncserver-2.1-developer。罐子沙1
    • core-asyncserver-2.1-developer。罐子sha256
    • core-asyncserver-2.1-developer。罐子sha512

    这真的有必要吗?我们能不能只生成一个哈希文件之类的东西?

    0 回复  |  直到 3 年前
        1
  •  1
  •   aSemy    3 年前

    简而言之,生成校验和是因为Gradle不知道工件将被托管在哪里,不同的主机接受不同的标准。

    (要了解更多关于校验和的重要性,您可以阅读 the Gradle documentation ,从消费者的角度描述了它们的使用。)

    MD5和SHA1“被认为在加密方面被破坏”,但(截至2019年1月10日),将两者结合使用是安全的。这一点值得注意 when Gradle 6.0 added SHA265 .

    Gradle 6.0.1 added an option 禁用SHA256和SHA512校验和。

    添加 -Dorg.gradle.internal.publish.checksums.insecure=true 添加到CLI或 systemProp.org.gradle.internal.publish.checksums.insecure=true 给你的 gradle.properties 文件

    允许对校验和生成进行更细粒度的控制 was requested 2020年1月,但下降了。

    因此,生成4个校验和是为了最大限度地提高兼容性。我不会太在意它们,它们是小文件,生成速度很快。我建议以后删除自定义文件,因为这可能会导致一些问题。