Gradle 构建配置签名者

问题描述 投票:0回答:4

我正在查看 webpush-java 代码。我在尝试使用 gradle 构建项目时遇到了问题。 (我是 gradle 新手)。

:签署档案失败

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务“:signArchives”执行失败。
    无法执行签名任务“:signArchives”,因为它没有 配置签名者

我想我需要配置一个签名者。我该怎么做?

java gradle push-notification pem web-push
4个回答
12
投票

引用签名插件文档,当您在 HOME 目录中的 gradle.properties 文件中提供预期的 GPG 变量时,您应该能够解决错误:

# File location: ~/.gradle/gradle.properties - see https://docs.gradle.org/current/userguide/directory_layout.html
signing.keyId=24875D73
signing.password=secret
signing.secretKeyRingFile=/Users/me/.gnupg/secring.gpg

Gradle 对应。签名插件将在构建过程中自动选取它们。


3
投票

另一个不需要特殊命令行选项的选项是在您的

build.gradle.kts
中添加以下内容:

signing {
    setRequired {
        // signing is only required if the artifacts are to be published
        gradle.taskGraph.allTasks.any { it.equals( PublishToMavenRepository) }
    }
    ....

参见例如https://github.com/Vampire/command-framework/blob/master/buildSrc/src/main/kotlin/net/kautler/publishing.gradle.kts#L157

或 Groovy (

build.gradle
):

signing {
    required {
        // signing is only required if the artifacts are to be published
        gradle.taskGraph.hasTask("publishToMavenRepository")
    }
    ....

0
投票

我遇到了同样的问题,这是因为以下几个原因:
我没有将 gpg 密钥分发到任何服务器;
我使用 inMemory 进行签名,但我不应该

包含 build.gradle 文件和 gradle.properties 文件的完整答案的链接:https://stackoverflow.com/a/68505768/7937498


-4
投票

在这里找到解决方案https://github.com/jaegertracing/jaeger-client-java/issues/202 使用以下命令。

./gradlew assemble -x signArchives

© www.soinside.com 2019 - 2024. All rights reserved.