gpt4 book ai didi

scala - 如何使用 sbt 将 Scala 库发布到 Maven Central?

转载 作者:行者123 更新时间:2023-12-04 09:34:24 24 4
gpt4 key购买 nike

我有一个使用 SBT 的开源 Scala 项目,我想将我的库发布到 Maven。我该怎么做?

最佳答案

我总是忘记如何做到这一点。所以这是我的笔记:

在你的生活中:

  • 创建 Sonatype account

  • 对于每台新的开发人员机器:
  • 安装 gpg例如在 OSX 上:brew install gpg
  • 运行 gpg --gen-key生成一个新的 key 。 记住您使用的密码和电子邮件 .
  • 确保在列出 key 时看到它:
    > gpg --list-secret-keys
    ~/.gnupg/pubring.kbx
    -----------------------------------
    sec rsa2048 2019-06-13 [SC] [expires: 2021-06-12]
    F5003E5C4718B1F466B244F766AA02EC8AA60DB9
    uid [ultimate] Pathikrit Bhowmick <pathikritbhowmick@msn.com>
    ssb rsa2048 2019-06-13 [E] [expires: 2021-06-12]
  • 发布您的 key :
    > gpg --keyserver hkp://pool.sks-keyservers.net --send-keys F5003E5C4718B1F466B244F766AA02EC8AA60DB9

    gpg: sending key 66AA02EC8AA60DB9 to hkp://pool.sks-keyservers.net

  • 您也可以通过复制 key 手动发布您的 key
      > gpg --armor --export F5003E5C4718B1F466B244F766AA02EC8AA60DB9

    并在此处提交 http://keyserver.ubuntu.com:11371/
  • 通过搜索 gnupg.net 验证 key 是否已发布或 keyserver.net .这可能需要一天时间才能显示
  • 添加 default-key给您的 gpg.conf :
    > cat ~/.gnupg/gpg.conf
    default-key F5003E5C4718B1F466B244F766AA02EC8AA60DB9
  • 将以下内容附加到此文件 ( ~/.sbt/${SBT_VERSION}/sonatype.sbt ):
    credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", "<your username>", "<your password>")

  • 对于每个新项目:
  • 创建 new JIRA issue使用您的 Sonatype 帐户请求新的存储库
  • 等到above issue已解决
  • 添加 sbt-pgp , sbt-releasesbt-sonatype作为您项目的插件。这是一个例子 plugins.sbt :
    addSbtPlugin("com.github.gseitz"  %   "sbt-release"             % "1.0.0")
    addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
    addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "0.5.1")
  • 这是一个例子 build.sbt我用于多项目。

  • 对于每个新版本:
  • 您可能需要做 export GPG_TTY=$(tty)出租 gpg在命令行中执行密码提示,如下所示:
    enter image description here
  • sbt +release (将提示您输入您为 gpg 创建的密码)
  • 注意:+release您指定的交叉版本 crossScalaVersions .如果您有 pushChanges在您的构建中启用以将您的提交推送到 git remote,请确保您这样做 pushChanges仅在最后一次 crossVersion .
  • Sonatype 上查看 Artifact (快照版本是 here )。如果你在那里看不到它,你可以仔细检查 Nexus Repository Manager
  • 等待几个小时让它传播到 Maven Central

  • 重新开始
  • 有时发布可能会中途失败,您的存储库可能会卡在暂存阶段。然后你必须去https://oss.sonatype.org > 登录 > 暂存存储库 > 查找您的存储库 > 单击 Drop,例如
    enter image description here
  • 关于scala - 如何使用 sbt 将 Scala 库发布到 Maven Central?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45963559/

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