首页 > 解决方案 > 打包时生成pgp文件

问题描述

作为 的一部分sbt package,我还希望生成pgpjar 的签名。请注意,我不打算发布到任何存储库,但我只想在本地生成它。然后可以使用它sbt-pack来生成应用程序的 tar。

使用sbt-pgp,它会生成带有 的 pgp 签名文件 publishLocalSigned。如何在package(或任何其他任务)期间生成

标签: scalasbt

解决方案


signedArtifacts似乎在不发布的情况下打包和签署工件。分析它的定义,我们看到packagedArtifacts并且pgpSigner是签署特定工件所需的主要元素:

signedArtifacts := {
  val artifacts = packagedArtifacts.value
  val r = pgpSigner.value
  ...
    artifacts flatMap {
      case (art, file) =>
        Seq(art                                                -> file,
            subExtension(art, art.extension + gpgExtension) -> r.sign(file, new File(file.getAbsolutePath + gpgExtension), s))
    }
  ...

推荐阅读