From fd9e1cd92985c8c798851667408d12285ed718cc Mon Sep 17 00:00:00 2001 From: Adrien Piquerez Date: Thu, 18 Mar 2021 15:15:11 +0100 Subject: [PATCH] No binary scala warning if 3 and 2.13 --- .../sbt/internal/librarymanagement/IvyScalaUtil.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ivy/src/main/scala/sbt/internal/librarymanagement/IvyScalaUtil.scala b/ivy/src/main/scala/sbt/internal/librarymanagement/IvyScalaUtil.scala index 2a4e4a27f..98e8b6721 100644 --- a/ivy/src/main/scala/sbt/internal/librarymanagement/IvyScalaUtil.scala +++ b/ivy/src/main/scala/sbt/internal/librarymanagement/IvyScalaUtil.scala @@ -144,7 +144,13 @@ object IvyScalaUtil { val depBinaryVersion = CrossVersion.binaryScalaVersion(id.getRevision) def isScalaLangOrg = id.getOrganisation == scalaOrganization def isScalaArtifact = scalaArtifacts.contains[String](id.getName) - def hasBinVerMismatch = depBinaryVersion != scalaBinaryVersion + + def hasBinVerMismatch = + depBinaryVersion != scalaBinaryVersion && + // scala 2.13 is compatible with scala 3.x + Seq(depBinaryVersion, scalaBinaryVersion) + .forall(bv => bv.startsWith("3") || bv.startsWith("2.13")) + def matchesOneOfTheConfigs = dep.getModuleConfigurations exists { scalaVersionConfigs } val mismatched = isScalaLangOrg && isScalaArtifact && hasBinVerMismatch && matchesOneOfTheConfigs if (mismatched)