Fix fetching Scala 2.13.12 bridges

This commit is contained in:
Adrien Piquerez 2024-06-06 17:41:20 +02:00
parent 299f7b4543
commit 3ec8bd2269
4 changed files with 11 additions and 18 deletions

View File

@ -735,7 +735,8 @@ object Defaults extends BuildCommon {
scalaCompilerBridgeBinaryJar := Def.settingDyn {
val sv = scalaVersion.value
val managed = managedScalaInstance.value
if (ScalaArtifacts.isScala3(sv) && managed) fetchBridgeBinaryJarTask(sv)
val hasSbtBridge = ScalaArtifacts.isScala3(sv) || ZincLmUtil.hasScala2SbtBridge(sv)
if (hasSbtBridge && managed) fetchBridgeBinaryJarTask(sv)
else Def.task[Option[File]](None)
}.value,
scalaCompilerBridgeSource := ZincLmUtil.getDefaultBridgeSourceModule(scalaVersion.value),

View File

@ -79,7 +79,6 @@ object LMCoursier {
extraProjects: Seq[CProject],
fallbackDeps: Seq[FallbackDependency],
appConfig: AppConfiguration,
classifiers: Option[Seq[Classifier]],
profiles: Set[String],
scalaOrg: String,
scalaVer: String,
@ -134,8 +133,6 @@ object LMCoursier {
.withSbtScalaJars(sbtBootJars.toVector)
.withSbtScalaVersion(sbtScalaVersion)
.withSbtScalaOrganization(sbtScalaOrganization)
.withClassifiers(classifiers.toVector.flatten.map(_.value))
.withHasClassifiers(classifiers.nonEmpty)
.withMavenProfiles(profiles.toVector.sorted)
.withScalaOrganization(scalaOrg)
.withScalaVersion(scalaVer)
@ -159,7 +156,6 @@ object LMCoursier {
csrExtraProjects.value.toVector,
csrFallbackDependencies.value,
appConfiguration.value,
None,
csrMavenProfiles.value,
scalaOrganization.value,
sv,
@ -181,10 +177,10 @@ object LMCoursier {
}
def updateClassifierConfigurationTask: Def.Initialize[Task[CoursierConfiguration]] = Def.task {
val classifiers = Some(transitiveClassifiers.value.map(Classifier(_)))
val classifiers = transitiveClassifiers.value.map(Classifier(_))
coursierConfigurationTask.value
.withClassifiers(classifiers.toVector.flatten.map(_.value))
.withHasClassifiers(classifiers.nonEmpty)
.withClassifiers(classifiers.toVector.map(_.value))
.withHasClassifiers(true)
}
def updateSbtClassifierConfigurationTask: Def.Initialize[Task[CoursierConfiguration]] = Def.task {
@ -195,7 +191,6 @@ object LMCoursier {
Vector(),
csrFallbackDependencies.value,
appConfiguration.value,
None,
csrMavenProfiles.value,
scalaOrganization.value,
sv,
@ -224,7 +219,6 @@ object LMCoursier {
Vector(),
csrFallbackDependencies.value,
appConfiguration.value,
None,
csrMavenProfiles.value,
scalaOrganization.value,
sv,

View File

@ -59,9 +59,7 @@ private[sbt] object ZincComponentCompiler {
): File = lock.synchronized {
val raw = new RawCompiler(
scalaInstance,
// TODO:
// ClasspathOptionsUtil.autoNoboot(scalaInstance.version),
ClasspathOptionsUtil.auto,
ClasspathOptionsUtil.autoNoboot(scalaInstance.version),
logger
)
val zinc =

View File

@ -28,6 +28,10 @@ import xsbti.compile.{ ClasspathOptions, ScalaInstance => XScalaInstance }
object ZincLmUtil {
final val scala2SbtBridgeStart = "2.13.12"
def hasScala2SbtBridge(sv: String): Boolean =
VersionNumber(sv).matchesSemVer(
SemanticSelector(s"=2.13 >=$scala2SbtBridgeStart")
)
/**
* Instantiate a Scala compiler that is instrumented to analyze dependencies.
@ -90,11 +94,7 @@ object ZincLmUtil {
if (ScalaArtifacts.isScala3(scalaVersion)) {
ModuleID(ScalaArtifacts.Organization, "scala3-sbt-bridge", scalaVersion)
.withConfigurations(Some(Compile.name))
} else if (
VersionNumber(scalaVersion).matchesSemVer(
SemanticSelector(s"=2.13 >=$scala2SbtBridgeStart")
)
) {
} else if (hasScala2SbtBridge(scalaVersion)) {
ModuleID(ScalaArtifacts.Organization, "scala2-sbt-bridge", scalaVersion)
.withConfigurations(Some(Compile.name))
} else {