[2.x] fix: Fixes non-typelevel scalaOrganization (#8945)

**Problem**
Coursier used to support only org.typelevel as scalaOrganization override.

**Solution**
This uses the newly added parameter in M24.
This commit is contained in:
eugene yokota 2026-03-20 12:31:14 -04:00 committed by Eugene Yokota
parent f5261d9e08
commit cd343c4cc6
3 changed files with 16 additions and 6 deletions

View File

@ -7,7 +7,6 @@ import coursier.{ Organization, Resolution }
import coursier.core.{ Classifier, Configuration, Dependency, VariantPublication, Publication }
import coursier.cache.CacheDefaults
import coursier.util.Artifact
import coursier.internal.Typelevel
import lmcoursier.definitions.ToCoursier
import lmcoursier.internal.{
ArtifactsParams,
@ -151,10 +150,11 @@ class CoursierDependencyResolution(
sys.error(s"unrecognized ModuleDescriptor type: $module")
}
val so = conf.scalaOrganization
val soOpt = conf.scalaOrganization
.map(Organization(_))
.orElse(module0.scalaModuleInfo.map(m => Organization(m.scalaOrganization)))
.getOrElse(Organization("org.scala-lang"))
val so = soOpt.getOrElse(Organization("org.scala-lang"))
val sv = conf.scalaVersion
.orElse(module0.scalaModuleInfo.map(_.scalaFullVersion))
// FIXME Manage to do stuff below without a scala version?
@ -263,8 +263,6 @@ class CoursierDependencyResolution(
(ToCoursier.configuration(config), extends0.map(ToCoursier.configuration))
}
val typelevel = so == Typelevel.typelevelOrg
val cache0 = coursier.cache
.FileCache()
.withLocation(cache)
@ -303,7 +301,7 @@ class CoursierDependencyResolution(
(ToCoursier.module(k), ToCoursier.versionConstraint(v))
.toMap
)
.withTypelevel(typelevel)
.withScalaOrganizationOverride(soOpt)
.withReconciliation0(conf.reconciliation.map: (k, v) =>
ToCoursier.moduleMatchers(k) -> ToCoursier.constraintReconciliation(v))
.withExclusions(excludeDependencies)

View File

@ -0,0 +1,11 @@
@transient
lazy val check = taskKey[Unit]("check")
scalaVersion := "3.8.3-RC1-bin-20260218-bb6fc60-NIGHTLY"
scalaOrganization := "ch.epfl.lara"
libraryDependencies += "com.lihaoyi" %% "fansi" % "0.5.0"
check := {
val cp = (Compile / fullClasspath).value.map(_.data)
cp.foreach: x =>
assert(!x.toString.contains("org/scala-lang"), s"$x contains org/scala-lang")
}

View File

@ -0,0 +1 @@
> check