summaryrefslogtreecommitdiff
path: root/scalalib/src/Dep.scala
diff options
context:
space:
mode:
Diffstat (limited to 'scalalib/src/Dep.scala')
-rw-r--r--scalalib/src/Dep.scala19
1 files changed, 17 insertions, 2 deletions
diff --git a/scalalib/src/Dep.scala b/scalalib/src/Dep.scala
index a6c77bfc..8429829c 100644
--- a/scalalib/src/Dep.scala
+++ b/scalalib/src/Dep.scala
@@ -5,7 +5,7 @@ import upickle.default.{macroRW, ReadWriter => RW}
import CrossVersion._
case class Dep(dep: coursier.Dependency, cross: CrossVersion, force: Boolean) {
- import mill.scalalib.api.Util.isDotty
+ import mill.scalalib.api.Util.{isDotty, DottyVersion}
def artifactName(binaryVersion: String, fullVersion: String, platformSuffix: String) = {
val suffix = cross.suffixString(binaryVersion, fullVersion, platformSuffix)
@@ -56,7 +56,22 @@ case class Dep(dep: coursier.Dependency, cross: CrossVersion, force: Boolean) {
def withDottyCompat(scalaVersion: String): Dep =
cross match {
case cross: Binary if isDotty(scalaVersion) =>
- copy(cross = Constant(value = "_2.12", platformed = cross.platformed))
+ val compatSuffix =
+ scalaVersion match {
+ case DottyVersion("3", _) =>
+ "_2.13"
+ case DottyVersion("0", minor, patch) =>
+ if (minor.toInt > 18 || minor.toInt == 18 && patch.toInt >= 1)
+ "_2.13"
+ else
+ "_2.12"
+ case _ =>
+ ""
+ }
+ if (compatSuffix.nonEmpty)
+ copy(cross = Constant(value = compatSuffix, platformed = cross.platformed))
+ else
+ this
case _ =>
this
}