diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 774a075..f506f3b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -30,10 +30,10 @@ jobs: - name: Publish release env: - MAVEN_USER: "${{ secrets.SONATYPE_USER }}" - MAVEN_PASSWORD: "${{ secrets.SONATYPE_PASSWORD }}" + SONATYPE_USER: "${{ secrets.SONATYPE_USER }}" + SONATYPE_PASSWORD: "${{ secrets.SONATYPE_PASSWORD }}" PGP_PASSPHRASE: "${{ secrets.PGP_PASSWORD }}" - run: sbt "clean;+cli/cliPack; +cli/publishSigned" + run: sbt "clean;+cli/cliPack; +cli/publishSigned; sonaUpload" - name: Create release artifacts run: | diff --git a/build.sbt b/build.sbt index 061ac12..7fabb72 100644 --- a/build.sbt +++ b/build.sbt @@ -1,23 +1,24 @@ val ScalaNativeVersion = "0.5.8-SNAPSHOT" -// Update during release procedure to provide access to staged, but not published artifacts -val StagingRepoIds = Nil -val StagingRepoNames = StagingRepoIds.map(id => s"orgscala-native-$id").toSeq val crossScalaVersions212 = (14 to 20).map("2.12." + _) val crossScalaVersions213 = (8 to 16).map("2.13." + _) val crossScalaVersions3 = (2 to 3).map("3.1." + _) ++ (0 to 2).map("3.2." + _) ++ - (0 to 4).map("3.3." + _) ++ + (0 to 6).map("3.3." + _) ++ (0 to 3).map("3.4." + _) ++ (0 to 2).map("3.5." + _) ++ - (2 to 3).map("3.6." + _) + (2 to 4).map("3.6." + _) ++ + (0 to 1).map("3.7." + _) ++ + Nil val scala2_12 = crossScalaVersions212.last val scala2_13 = crossScalaVersions213.last val scala3 = crossScalaVersions3.last val scala3PublishVersion = "3.1.3" +sonatypePublishSettings + val publishScalaVersions = Seq(scala2_12, scala2_13, scala3PublishVersion) def scalaReleasesForBinaryVersion(v: String): Seq[String] = v match { @@ -100,7 +101,7 @@ inThisBuild( ) ), // Used during the releases - resolvers ++= StagingRepoNames.flatMap(Resolver.sonatypeOssRepos(_)), + resolvers += "Sonatype Central Deployments" at "https://central.sonatype.com/api/v1/publisher/deployments/download/", resolvers ++= Resolver.sonatypeOssRepos("snapshots"), resolvers += Resolver.mavenCentral, resolvers += Resolver.defaultLocal @@ -154,9 +155,7 @@ lazy val cliScriptedTests = project "-Dplugin.version=" + (cli / scalaNativeVersion).value, "-Dscala.version=" + (cli / scalaVersion).value, "-Dscala-native-cli=" + cliPath, - "-Dscala-native-cli-pack=" + packDir, - "-Dscalanative.build.staging.resolvers=" + StagingRepoNames - .mkString(",") + "-Dscala-native-cli-pack=" + packDir ) }, scriptedBufferLog := false, @@ -306,22 +305,24 @@ lazy val cliPackSettings = Def.settings( lazy val publishSettings = Def.settings( Compile / publishArtifact := true, Test / publishArtifact := false, + sonatypePublishSettings +) +lazy val sonatypePublishSettings = Def.settings( publishMavenStyle := true, pomIncludeRepository := (_ => false), publishTo := { - val nexus = "https://oss.sonatype.org/" - if (isSnapshot.value) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") + val centralSnapshots = + "https://central.sonatype.com/repository/maven-snapshots/" + if (isSnapshot.value) Some("central-snapshots" at centralSnapshots) + else localStaging.value }, credentials ++= { for { - user <- sys.env.get("MAVEN_USER") - password <- sys.env.get("MAVEN_PASSWORD") + user <- sys.env.get("SONATYPE_USER") + password <- sys.env.get("SONATYPE_PASSWORD") } yield Credentials( - realm = "Sonatype Nexus Repository Manager", - host = "oss.sonatype.org", + realm = "", + host = "central.sonatype.com", userName = user, passwd = password ) diff --git a/cli/src/sbt-test/integration/cli/build.sbt b/cli/src/sbt-test/integration/cli/build.sbt index cbe624c..0b2e055 100644 --- a/cli/src/sbt-test/integration/cli/build.sbt +++ b/cli/src/sbt-test/integration/cli/build.sbt @@ -1,9 +1,4 @@ resolvers ++= Resolver.sonatypeOssRepos("snapshots") -resolvers ++= sys.props - .get("scalanative.build.staging.resolvers") - .toList - .flatMap(_.split(",")) - .flatMap(Resolver.sonatypeOssRepos(_)) enablePlugins(ScalaNativePlugin) import sbt._ diff --git a/cli/src/sbt-test/integration/cli/project/build.sbt b/cli/src/sbt-test/integration/cli/project/build.sbt index 1b20818..4908c41 100644 --- a/cli/src/sbt-test/integration/cli/project/build.sbt +++ b/cli/src/sbt-test/integration/cli/project/build.sbt @@ -9,8 +9,3 @@ if (pluginVersion == null) else { addSbtPlugin("org.scala-native" % "sbt-scala-native" % pluginVersion) } -resolvers ++= sys.props - .get("scalanative.build.staging.resolvers") - .toList - .flatMap(_.split(",")) - .flatMap(Resolver.sonatypeOssRepos(_)) diff --git a/cli/src/sbt-test/integration/standalone/build.sbt b/cli/src/sbt-test/integration/standalone/build.sbt index 1a50afa..227155c 100644 --- a/cli/src/sbt-test/integration/standalone/build.sbt +++ b/cli/src/sbt-test/integration/standalone/build.sbt @@ -22,11 +22,6 @@ scalaVersion := { ) else scalaVersion } -resolvers ++= sys.props - .get("scalanative.build.staging.resolvers") - .toList - .flatMap(_.split(",")) - .flatMap(Resolver.sonatypeOssRepos(_)) runScript := { val scriptName +: rawArgs = spaceDelimited("").parsed.toSeq diff --git a/project/build.properties b/project/build.properties index 875b706..61c9b1c 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.2 +sbt.version=1.11.1