From 8843d23e0e14b493cc046a98c14bdea7332b82da Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Fri, 6 Jun 2025 00:04:00 +0200 Subject: [PATCH 1/3] Upgrade sbt to 1.11.1 --- project/build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 35cf648f04a668e2cb3170261aa29060b51a1395 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Fri, 6 Jun 2025 00:06:52 +0200 Subject: [PATCH 2/3] Migrate publishing to Central Sonatype instead of replaced OSSRH --- .github/workflows/publish.yml | 6 +++--- build.sbt | 15 +++++++-------- 2 files changed, 10 insertions(+), 11 deletions(-) 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..634de8a 100644 --- a/build.sbt +++ b/build.sbt @@ -309,19 +309,18 @@ lazy val publishSettings = 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", + host = "central.sonatype.com", userName = user, passwd = password ) From 88f53a12c9111bdd107b70d7a9b8911b6e68d219 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Fri, 6 Jun 2025 15:18:54 +0200 Subject: [PATCH 3/3] Fix usages of central sonatype --- build.sbt | 22 ++++++++++--------- cli/src/sbt-test/integration/cli/build.sbt | 5 ----- .../integration/cli/project/build.sbt | 5 ----- .../sbt-test/integration/standalone/build.sbt | 5 ----- 4 files changed, 12 insertions(+), 25 deletions(-) diff --git a/build.sbt b/build.sbt index 634de8a..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,6 +305,9 @@ 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 := { @@ -319,7 +321,7 @@ lazy val publishSettings = Def.settings( user <- sys.env.get("SONATYPE_USER") password <- sys.env.get("SONATYPE_PASSWORD") } yield Credentials( - realm = "Sonatype Nexus Repository Manager", + 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