Skip to content

Commit cfa254c

Browse files
authored
Automatically add the new Sonatype Central Portal snapshots repository when snapshots are expected to be used (#3797)
1 parent 9405448 commit cfa254c

File tree

8 files changed

+39
-10
lines changed

8 files changed

+39
-10
lines changed

modules/build/src/main/scala/scala/build/Bloop.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package scala.build
33
import bloop.rifle.{BloopRifleConfig, BuildServer}
44
import ch.epfl.scala.bsp4j
55
import coursier.cache.FileCache
6+
import coursier.maven.MavenRepository
67
import coursier.util.Task
78
import dependency.parser.ModuleParser
89
import dependency.{AnyDependency, DependencyLike, ScalaParameters, ScalaVersion}
@@ -81,7 +82,8 @@ object Bloop {
8182
Seq(Positioned.none(dep)),
8283
Seq(
8384
coursier.Repositories.sonatype("snapshots"),
84-
coursier.Repositories.sonatypeS01("snapshots")
85+
coursier.Repositories.sonatypeS01("snapshots"),
86+
MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
8587
),
8688
Some(params),
8789
logger,

modules/build/src/test/scala/scala/build/tests/BuildOptionsTests.scala

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package scala.build.tests
22

33
import com.eed3si9n.expecty.Expecty.assert as expect
4-
import coursier.Repositories
4+
import coursier.{Repositories, Repository}
55
import coursier.cache.FileCache
66
import coursier.core.Version
7+
import coursier.maven.MavenRepository
78
import dependency.ScalaParameters
89

910
import scala.build.Ops.*
@@ -444,10 +445,13 @@ class BuildOptionsTests extends TestUtil.ScalaCliBuildSuite {
444445
.getOrElse(sys.error("cannot happen"))
445446
val repositories = build.options.finalRepositories.orThrow
446447

447-
expect(repositories.length == 3)
448+
expect(repositories.length == 4)
448449
expect(repositories.contains(Repositories.sonatype("snapshots")))
449450
expect(repositories.contains(Repositories.sonatypeS01("snapshots")))
450451
expect(repositories.contains(Repositories.central))
452+
expect(repositories.contains(
453+
MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
454+
))
451455
}
452456
}
453457

modules/cli/src/main/scala/scala/cli/commands/pgp/PgpExternalCommand.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package scala.cli.commands.pgp
22

33
import coursier.Repositories
44
import coursier.cache.{ArchiveCache, FileCache}
5+
import coursier.maven.MavenRepository
56
import coursier.util.Task
67
import dependency.*
78

@@ -185,7 +186,10 @@ object PgpExternalCommand {
185186
if (signingCliOptions.forceJvm.getOrElse(false)) {
186187
val extraRepos =
187188
if (version.endsWith("SNAPSHOT"))
188-
Seq(Repositories.sonatype("snapshots"))
189+
Seq(
190+
Repositories.sonatype("snapshots"),
191+
MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
192+
)
189193
else
190194
Nil
191195

modules/cli/src/main/scala/scala/cli/internal/ScalaJsLinker.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package scala.cli.internal
22

33
import coursier.Repositories
44
import coursier.cache.{ArchiveCache, FileCache}
5+
import coursier.maven.MavenRepository
56
import coursier.util.Task
67
import dependency.*
78
import org.scalajs.testing.adapter.TestAdapterInitializer as TAI
@@ -58,7 +59,10 @@ object ScalaJsLinker {
5859

5960
val extraRepos =
6061
if (scalaJsVersion.endsWith("SNAPSHOT") || scalaJsCliVersion.endsWith("SNAPSHOT"))
61-
Seq(Repositories.sonatype("snapshots"))
62+
Seq(
63+
Repositories.sonatype("snapshots"),
64+
MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
65+
)
6266
else
6367
Nil
6468

modules/cli/src/main/scala/scala/cli/launcher/LauncherCli.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package scala.cli.launcher
33
import coursier.Repositories
44
import coursier.cache.FileCache
55
import coursier.core.Version
6+
import coursier.maven.MavenRepository
67
import coursier.util.{Artifact, Task}
78
import dependency.*
89

@@ -22,7 +23,11 @@ object LauncherCli {
2223
val cache = CoursierOptions().coursierCache(logger.coursierLogger(""))
2324
val scalaVersion = options.cliScalaVersion.getOrElse(scalaCliScalaVersion(version))
2425
val scalaParameters = ScalaParameters(scalaVersion)
25-
val snapshotsRepo = Seq(Repositories.central, Repositories.sonatype("snapshots"))
26+
val snapshotsRepo = Seq(
27+
Repositories.central,
28+
Repositories.sonatype("snapshots"),
29+
MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
30+
)
2631

2732
val cliVersion: String =
2833
if (version == "nightly") resolveNightlyScalaCliVersion(cache, scalaParameters) else version

modules/options/src/main/scala/scala/build/Artifacts.scala

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package scala.build
33
import coursier.cache.FileCache
44
import coursier.core.{Classifier, Module, ModuleName, Organization, Repository, Version}
55
import coursier.error.ResolutionError
6+
import coursier.maven.MavenRepository
67
import coursier.util.Task
78
import coursier.{Dependency as CsDependency, Fetch, Resolution, core as csCore, util as csUtil}
89
import dependency.*
@@ -164,7 +165,10 @@ object Artifacts {
164165
val hasSnapshots = jvmTestRunnerDependencies.exists(_.version.endsWith("SNAPSHOT")) ||
165166
scalaArtifactsParamsOpt.flatMap(_.scalaNativeCliVersion).exists(_.endsWith("SNAPSHOT"))
166167
if (hasSnapshots)
167-
Seq(coursier.Repositories.sonatype("snapshots"))
168+
Seq(
169+
coursier.Repositories.sonatype("snapshots"),
170+
MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
171+
)
168172
else
169173
Nil
170174
}
@@ -427,7 +431,10 @@ object Artifacts {
427431
if addJvmRunner0 then {
428432
val maybeSnapshotRepo =
429433
if runnerVersion.endsWith("SNAPSHOT") then
430-
Seq(coursier.Repositories.sonatype("snapshots"))
434+
Seq(
435+
coursier.Repositories.sonatype("snapshots"),
436+
MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
437+
)
431438
else Nil
432439
val runnerVersion0 =
433440
if shouldUseLegacyRunners then {

modules/options/src/main/scala/scala/build/options/BuildOptions.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package scala.build.options
22
import coursier.cache.{ArchiveCache, FileCache}
33
import coursier.core.{Repository, Version}
4+
import coursier.maven.MavenRepository
45
import coursier.parse.RepositoryParser
56
import coursier.util.{Artifact, Task}
67
import dependency.*
@@ -261,7 +262,8 @@ final case class BuildOptions(
261262
then
262263
Seq(
263264
coursier.Repositories.sonatype("snapshots"),
264-
coursier.Repositories.sonatypeS01("snapshots")
265+
coursier.Repositories.sonatypeS01("snapshots"),
266+
MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
265267
)
266268
else Nil
267269
val extraRepositories = classPathOptions.extraRepositories.filterNot(_ == "snapshots")

project/deps/package.mill.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,8 @@ object Docker {
299299
def customRepositories =
300300
Seq(
301301
coursier.Repositories.sonatype("snapshots"),
302-
coursier.MavenRepository("https://s01.oss.sonatype.org/content/repositories/snapshots")
302+
coursier.MavenRepository("https://s01.oss.sonatype.org/content/repositories/snapshots"),
303+
coursier.MavenRepository("https://central.sonatype.com/repository/maven-snapshots")
303304
// Uncomment for local development
304305
// coursier.LocalRepositories.Dangerous.maven2Local
305306
)

0 commit comments

Comments
 (0)