Skip to content

Commit 201db83

Browse files
committed
WIP: publish to Central Portal
1 parent e66dc48 commit 201db83

File tree

7 files changed

+27
-16
lines changed

7 files changed

+27
-16
lines changed

build.sbt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,21 @@ lazy val binaryCompatStep = releaseStepCommandAndRemaining("+mimaReportBinaryIss
1313
lazy val testIfRelevantStep = releaseStepCommandAndRemaining("+testIfRelevant")
1414
lazy val publishIfRelevantStep = releaseStepCommandAndRemaining("+publishSignedIfRelevant")
1515

16+
// sonaReleaseIfNecessary is from sbt-typelevel
17+
// https://github.com/typelevel/sbt-typelevel/blob/v0.8.0/sonatype/src/main/scala/org/typelevel/sbt/TypelevelSonatypePlugin.scala#L81-L87
18+
// SPDX-License-Identifier: Apache-2.0
19+
// Copyright 2022 Typelevel
20+
lazy val sonaReleaseIfNecessary: Command =
21+
Command.command("sonaReleaseIfNecessary") { state =>
22+
if (state.getSetting(isSnapshot).getOrElse(false))
23+
state // a snapshot is good-to-go
24+
else // a non-snapshot releases as a bundle
25+
Command.process("sonaRelease", state, _ => ())
26+
}
27+
28+
commands += sonaReleaseIfNecessary
29+
lazy val sonaReleaseIfNecessaryStep = releaseStepCommand("sonaReleaseIfNecessary")
30+
1631
/* This is the standard release process plus a binary compat check after tests */
1732
releaseProcess := Seq[ReleaseStep](
1833
checkSnapshotDependencies,
@@ -24,6 +39,7 @@ releaseProcess := Seq[ReleaseStep](
2439
commitReleaseVersion,
2540
tagRelease,
2641
publishIfRelevantStep,
42+
sonaReleaseIfNecessaryStep,
2743
setNextVersion,
2844
commitNextVersion,
2945
pushChanges

project/BasicSettings.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ trait BasicSettings extends ProjectSettings { st: SettingTemplate =>
6464
) ++ (
6565
if (sonatypeResolver) {
6666
/* Many OSS projects push here and then appear in Maven Central later */
67-
Seq(resolvers += Resolver.sonatypeRepo("releases"))
67+
Seq(resolvers ++= Resolver.sonatypeOssRepos("releases"))
6868
} else {
6969
Seq.empty
7070
}

project/Publish.scala

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import sbt._
1+
import sbt.{Resolvers => _, _}
22
import Keys._
33

44
object Publish {
@@ -11,8 +11,8 @@ object Publish {
1111
pass <- getProp("SONATYPE_PASS")
1212
} yield {
1313
credentials +=
14-
Credentials("Sonatype Nexus Repository Manager",
15-
"oss.sonatype.org",
14+
Credentials("Sonatype Central Portal",
15+
"central.sonatype.com",
1616
user, pass)
1717
}
1818
).toSeq
@@ -23,10 +23,9 @@ object Publish {
2323
Test / publishArtifact := false,
2424

2525
publishTo := {
26-
if (version.value.trim endsWith "SNAPSHOT")
27-
Some(sonatypeSnaps)
28-
else
29-
Some(sonatypeStaging)
26+
val centralSnapshots = "https://central.sonatype.com/repository/maven-snapshots/"
27+
if (isSnapshot.value) Some("central-snapshots" at centralSnapshots)
28+
else localStaging.value
3029
},
3130

3231
pomExtra := BasicSettings.developerInfo

project/Resolvers.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import sbt._
22

33
object Resolvers {
4-
val sonatypeSnaps = Resolver.sonatypeRepo("snapshots")
5-
val sonatypeRelease = Resolver.sonatypeRepo("releases")
4+
val sonatypeSnaps = Resolver.sonatypeOssRepos("snapshots")
5+
val sonatypeRelease = Resolver.sonatypeOssRepos("releases")
66
val sonatypeStaging = "Sonatype Staging" at "https://oss.sonatype.org/service/local/staging/deploy/maven2"
77
}
88

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.6.2
1+
sbt.version=1.11.1

project/plugin-sonatype.sbt

Lines changed: 0 additions & 4 deletions
This file was deleted.

version.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version in ThisBuild := "1.10.1-SNAPSHOT"
1+
ThisBuild / version := "1.10.1-SNAPSHOT"

0 commit comments

Comments
 (0)