diff --git a/build.sbt b/build.sbt index e049d5d2..a178b4f6 100644 --- a/build.sbt +++ b/build.sbt @@ -39,13 +39,23 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform, case _ => Seq.empty } }, + Test / unmanagedSourceDirectories ++= { + val version = scalaVersion.value + val crossVersions = crossScalaVersions.value + import Ordering.Implicits._ + val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ <= CrossVersion.partialVersion(version)).flatten + (Test / unmanagedSourceDirectories).value.flatMap { + case dir if dir.getPath.endsWith("scala") => ltEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n+") } + case _ => Seq.empty + } + }, Compile / unmanagedSourceDirectories ++= { val version = scalaVersion.value val crossVersions = crossScalaVersions.value import Ordering.Implicits._ - val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ >= CrossVersion.partialVersion(version)).flatten + val gtEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ >= CrossVersion.partialVersion(version)).flatten (Compile / unmanagedSourceDirectories).value.flatMap { - case dir if dir.getPath.endsWith("scala") => ltEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n-") } + case dir if dir.getPath.endsWith("scala") => gtEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n-") } case _ => Seq.empty } }, @@ -53,9 +63,9 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform, val version = scalaVersion.value val crossVersions = crossScalaVersions.value import Ordering.Implicits._ - val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ <= CrossVersion.partialVersion(version)).flatten + val gtEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ >= CrossVersion.partialVersion(version)).flatten (Test / unmanagedSourceDirectories).value.flatMap { - case dir if dir.getPath.endsWith("scala") => ltEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n+") } + case dir if dir.getPath.endsWith("scala") => gtEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n-") } case _ => Seq.empty } }, @@ -64,9 +74,10 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform, import Ordering.Implicits._ val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).sorted.flatten def joinV = (_: Product).productIterator.mkString(".") - val allRangeVersions = (2 to math.max(2, ltEqVersions.size - 1)) + val allRangeVersions = (2 to math.max(2, ltEqVersions.size)) .flatMap(i => ltEqVersions.sliding(i).filter(_.size == i)) .map(l => (l.head, l.last)) + .distinct CrossVersion.partialVersion(scalaVersion.value).toList.flatMap { version => val rangeVersions = allRangeVersions @@ -83,9 +94,10 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform, import Ordering.Implicits._ val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).sorted.flatten def joinV = (_: Product).productIterator.mkString(".") - val allRangeVersions = (2 to math.max(2, ltEqVersions.size - 1)) + val allRangeVersions = (2 to math.max(2, ltEqVersions.size)) .flatMap(i => ltEqVersions.sliding(i).filter(_.size == i)) .map(l => (l.head, l.last)) + .distinct CrossVersion.partialVersion(scalaVersion.value).toList.flatMap { version => val rangeVersions = allRangeVersions @@ -151,6 +163,7 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform, case (_, "2.13.11") => Seq( "-release:8", "-explaintypes", + "-Xsource:3-cross", if (insideCI.value) "-Wconf:any:error" else "-Wconf:any:warning", "-Wconf:cat=optimizer:warning", "-Wconf:cat=other-match-analysis:error", @@ -212,7 +225,7 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform, crossScalaVersions := Seq( "3.2.2", "2.13.11", - "2.12.17", + "2.12.17" ), scalaVersion := crossScalaVersions.value.head, coverageEnabled := false, @@ -222,7 +235,7 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform, crossScalaVersions := Seq( "3.2.2", "2.13.11", - "2.12.17", + "2.12.17" ), scalaVersion := crossScalaVersions.value.head, coverageEnabled := false, @@ -266,13 +279,23 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform) case _ => Seq.empty } }, + Test / unmanagedSourceDirectories ++= { + val version = scalaVersion.value + val crossVersions = crossScalaVersions.value + import Ordering.Implicits._ + val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ <= CrossVersion.partialVersion(version)).flatten + (Test / unmanagedSourceDirectories).value.flatMap { + case dir if dir.getPath.endsWith("scala") => ltEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n+") } + case _ => Seq.empty + } + }, Compile / unmanagedSourceDirectories ++= { val version = scalaVersion.value val crossVersions = crossScalaVersions.value import Ordering.Implicits._ - val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ >= CrossVersion.partialVersion(version)).flatten + val gtEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ >= CrossVersion.partialVersion(version)).flatten (Compile / unmanagedSourceDirectories).value.flatMap { - case dir if dir.getPath.endsWith("scala") => ltEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n-") } + case dir if dir.getPath.endsWith("scala") => gtEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n-") } case _ => Seq.empty } }, @@ -280,9 +303,9 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform) val version = scalaVersion.value val crossVersions = crossScalaVersions.value import Ordering.Implicits._ - val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ <= CrossVersion.partialVersion(version)).flatten + val gtEqVersions = crossVersions.map(CrossVersion.partialVersion).filter(_ >= CrossVersion.partialVersion(version)).flatten (Test / unmanagedSourceDirectories).value.flatMap { - case dir if dir.getPath.endsWith("scala") => ltEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n+") } + case dir if dir.getPath.endsWith("scala") => gtEqVersions.map { case (m, n) => file(dir.getPath + s"-$m.$n-") } case _ => Seq.empty } }, @@ -291,9 +314,10 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform) import Ordering.Implicits._ val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).sorted.flatten def joinV = (_: Product).productIterator.mkString(".") - val allRangeVersions = (2 to math.max(2, ltEqVersions.size - 1)) + val allRangeVersions = (2 to math.max(2, ltEqVersions.size)) .flatMap(i => ltEqVersions.sliding(i).filter(_.size == i)) .map(l => (l.head, l.last)) + .distinct CrossVersion.partialVersion(scalaVersion.value).toList.flatMap { version => val rangeVersions = allRangeVersions @@ -310,9 +334,10 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform) import Ordering.Implicits._ val ltEqVersions = crossVersions.map(CrossVersion.partialVersion).sorted.flatten def joinV = (_: Product).productIterator.mkString(".") - val allRangeVersions = (2 to math.max(2, ltEqVersions.size - 1)) + val allRangeVersions = (2 to math.max(2, ltEqVersions.size)) .flatMap(i => ltEqVersions.sliding(i).filter(_.size == i)) .map(l => (l.head, l.last)) + .distinct CrossVersion.partialVersion(scalaVersion.value).toList.flatMap { version => val rangeVersions = allRangeVersions @@ -378,6 +403,7 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform) case (_, "2.13.11") => Seq( "-release:8", "-explaintypes", + "-Xsource:3-cross", if (insideCI.value) "-Wconf:any:error" else "-Wconf:any:warning", "-Wconf:cat=optimizer:warning", "-Wconf:cat=other-match-analysis:error", @@ -438,7 +464,7 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform) crossScalaVersions := Seq( "3.2.2", "2.13.11", - "2.12.17", + "2.12.17" ), scalaVersion := crossScalaVersions.value.head, coverageEnabled := false, @@ -448,7 +474,7 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform) crossScalaVersions := Seq( "3.2.2", "2.13.11", - "2.12.17", + "2.12.17" ), scalaVersion := crossScalaVersions.value.head, coverageEnabled := false, @@ -646,7 +672,7 @@ lazy val `izumi-reflect-root` = (project in file(".")) ), ThisBuild / mimaFailOnProblem := true, ThisBuild / mimaFailOnNoPrevious := false, - libraryDependencies += "io.7mind.izumi.sbt" % "sbtgen_2.13" % "0.0.97" % Provided + libraryDependencies += "io.7mind.izumi.sbt" % "sbtgen_2.13" % "0.0.101" % Provided ) .aggregate( `izumi-reflect-aggregate` diff --git a/project/Deps.sc b/project/Deps.sc index 1d8372ca..4fcaedef 100644 --- a/project/Deps.sc +++ b/project/Deps.sc @@ -1,4 +1,4 @@ -import $ivy.`io.7mind.izumi.sbt:sbtgen_2.13:0.0.97` +import $ivy.`io.7mind.izumi.sbt:sbtgen_2.13:0.0.101` import izumi.sbtgen._ import izumi.sbtgen.model._ diff --git a/project/plugins.sbt b/project/plugins.sbt index d1ef76cc..9119c8c2 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -18,7 +18,7 @@ addSbtPlugin("org.scala-native" % "sbt-scala-native" % PV.scala_n //////////////////////////////////////////////////////////////////////////////// -addSbtPlugin("io.7mind.izumi.sbt" % "sbt-izumi" % "0.0.97") +addSbtPlugin("io.7mind.izumi.sbt" % "sbt-izumi" % "0.0.101") addSbtPlugin("com.jsuereth" % "sbt-pgp" % PV.sbt_pgp)