1

我正在尝试使用 sbt-release、sbt-pgp 和 sbt-sonatype 插件将多项目发布到 sonatype。

运行时:sbt publishLocalSigned我看到.asc文件已发布。但是当运行 sbt release 到 sonatype 时,我只能看到.md5sha1文件。

这是我的release.sbt


    import ReleaseTransformations._


    // publishing
    publishMavenStyle in ThisBuild := true

    credentials in ThisBuild += Credentials(Path.userHome / ".ivy2" / ".credentials_sonatype")

    publishTo in ThisBuild := {
      val nexus = "https://oss.sonatype.org/"
      if (version.value.trim.endsWith("SNAPSHOT"))
        Some("snapshots" at nexus + "content/repositories/snapshots")
      else
        Some("releases" at nexus + "service/local/staging/deploy/maven2")
    }

    publishArtifact in Test := false

    pomIncludeRepository in ThisBuild := { _ => false }

    pomExtra in ThisBuild := {
        <url>my.url</url>
        <licenses>
          <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
          </license>
        </licenses>
        <scm>
          <connection>scm:git:git@github.com:url.git</connection>
          <developerConnection>scm:git:git@github.com:url.git</developerConnection>
          <url>url</url>
        </scm>
        <developers>
          <developer>
            <id>dev</id>
            <name>dev</name>
            <email>dev@gmail.com</email>
          </developer>
        </developers>
    }

    // use maven style tag name
    releaseTagName in ThisBuild := s"${name.value}-${(version in ThisBuild).value}"

    // sign artifacts

    releasePublishArtifactsAction in ThisBuild := PgpKeys.publishSigned.value

    // don't push changes (so they can be verified first)
    releaseProcess in ThisBuild := Seq(
      checkSnapshotDependencies,
      inquireVersions,
      runTest,
      setReleaseVersion,
      commitReleaseVersion,
      tagRelease,
      publishArtifacts,
      setNextVersion,
      commitNextVersion,
      pushChanges,
      releaseStepCommand("sonatypeRelease")
    )

我的plugin.sbt

    addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1")

    addSbtPlugin("org.scoverage" % "sbt-coveralls" % "1.2.7")

    addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "2.3")

    addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.0")

    addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.11")

我确定我的 gpg 密钥设置正确,否则我将无法运行,publishLocalSigned但似乎我错过了我的 sbt-gpg 插件在发布时启动的某些内容。

sbt 版本是 1.2.8,我尝试降级到 0.13.17 并得到相同的行为。

我不得不提到我主要遵循jackson-module-scala方法: https ://github.com/FasterXML/jackson-module-scala/blob/master/release.sbt

4

0 回答 0