gpt4 book ai didi

gradle - 应用 Gradle 签名插件,无需 GPG key 环

转载 作者:行者123 更新时间:2023-12-03 04:23:12 25 4
gpt4 key购买 nike

我按照 http://central.sonatype.org/pages/gradle.html 上的说明进行操作使用 Gradle 将工件上传到 Maven 中央存储库。说明有效。示例出现在 https://github.com/plume-lib/options/blob/master/build.gradlehttps://github.com/plume-lib/bcel-util/blob/master/build.gradle .

我的问题是它会导致其他开发人员无法使用的构建文件。

Gradle 签名插件 ( https://docs.gradle.org/current/userguide/signing_plugin.html ) 需要 gradle.properties带有 signing.keyId 的文件, signing.password , 和 signing.secretKeyRingFile ,后者指向一个有效的 GPG key 环。如果文件不存在或无效,插件会以错误终止构建。

但是只有在将工件上传到 Maven Central 时才需要签名。
我希望任何用户都能够运行 gradle 构建文件(实际上上传到 Maven Central 除外),即使他们没有 GPG key 环。

我怎样才能做到这一点?

以下是我尝试过的一些事情:

  • 将 gradle 文件拆分为多个部分。 (这是链接示例中显示的内容。)这需要进行两项更改。
  • 将主构建文件更改为构建脚本。 (它仍然可以从命令行调用)。一件令人毛骨悚然的事情是,只有 gradle 构建文件可以包含 plugins { ... }。 block ,并引用 plugins { ... } 之外的插件 block 是冗长和丑陋的,如(比方说)https://plugins.gradle.org/plugin/com.github.sherter.google-java-format 的底部或
  • 创建另一个构建文件,仅用于签名,使用 apply from:包括主要的。

  • 问题:有没有办法在没有丑陋的 buildscript block 的情况下做到这一点?
  • 将一个虚拟 key 环提交到存储库,在本地 gradle.properties 中引用它,以及用户的 ~/gradle.properties可以为任何想要上传到 Maven Central 的用户覆盖它。一个问题是使用本地路径名会产生 gradle 警告。
    问题:有没有办法在没有 gradle 警告的情况下做到这一点?
  • 使用条件签名 (https://docs.gradle.org/current/userguide/signing_plugin.html)。在我的实验中,这没有帮助。即使在工件未签名的 gradle 执行中,签名插件仍然需要 GPG key 环存在。
    问题:可以使用条件签名来避免对 GPG key 环的需要吗?

  • 问题:有没有比上述可能性更好的方法来实现我的目标?

    最佳答案

    该文档有一个关于 "Conditional Signing" 的部分这正是您需要的。
    您甚至可以使该条件检查所需的属性确实可用于构建。

    关于gradle - 应用 Gradle 签名插件,无需 GPG key 环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48844535/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com