Skip to content

Commit

Permalink
scalac updates
Browse files Browse the repository at this point in the history
  • Loading branch information
pshirshov committed Apr 22, 2024
1 parent dbf2293 commit 8362f58
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 158 deletions.
192 changes: 50 additions & 142 deletions build.sbt
Expand Up @@ -3,16 +3,14 @@
// ALL CHANGES WILL BE LOST


import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType}

import com.typesafe.tools.mima.core._

enablePlugins(SbtgenVerificationPlugin)

lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform, JSPlatform, NativePlatform).crossType(CrossType.Pure).in(file("izumi-reflect/izumi-reflect-thirdparty-boopickle-shaded"))
lazy val `izumi-reflect-thirdparty-boopickle-shaded` = project.in(file("izumi-reflect/izumi-reflect-thirdparty-boopickle-shaded"))
.settings(
libraryDependencies ++= Seq(
"org.scalatest" %%% "scalatest" % V.scalatest % Test
"org.scalatest" %% "scalatest" % V.scalatest % Test
),
libraryDependencies ++= { if (scalaVersion.value.startsWith("2.")) Seq(
compilerPlugin("org.typelevel" % "kind-projector" % V.kind_projector cross CrossVersion.full),
Expand All @@ -28,7 +26,22 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform,
}
)
.settings(
crossScalaVersions := Seq(
"3.2.2",
"2.13.13",
"2.12.19",
"2.11.12"
),
scalaVersion := crossScalaVersions.value.head,
organization := "dev.zio",
Compile / unmanagedSourceDirectories += baseDirectory.value / ".jvm/src/main/scala" ,
Compile / unmanagedSourceDirectories ++= (scalaBinaryVersion.value :: CrossVersion.partialVersion(scalaVersion.value).toList.map(_._1))
.map(v => baseDirectory.value / s".jvm/src/main/scala-$v").distinct,
Compile / unmanagedResourceDirectories += baseDirectory.value / ".jvm/src/main/resources" ,
Test / unmanagedSourceDirectories += baseDirectory.value / ".jvm/src/test/scala" ,
Test / unmanagedSourceDirectories ++= (scalaBinaryVersion.value :: CrossVersion.partialVersion(scalaVersion.value).toList.map(_._1))
.map(v => baseDirectory.value / s".jvm/src/test/scala-$v").distinct,
Test / unmanagedResourceDirectories += baseDirectory.value / ".jvm/src/test/resources" ,
Compile / unmanagedSourceDirectories ++= {
val version = scalaVersion.value
val crossVersions = crossScalaVersions.value
Expand Down Expand Up @@ -118,7 +131,7 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform,
Test / testOptions += Tests.Argument("-oDF"),
scalacOptions ++= { (isSnapshot.value, scalaVersion.value) match {
case (_, "2.11.12") => Seq.empty
case (_, "2.12.17") => Seq(
case (_, "2.12.19") => Seq(
"-release:8",
"-explaintypes",
"-Ypartial-unification",
Expand Down Expand Up @@ -160,7 +173,7 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform,
"-Ycache-macro-class-loader:last-modified",
"-Wconf:msg=nowarn:silent"
)
case (_, "2.13.11") => Seq(
case (_, "2.13.13") => Seq(
"-release:8",
"-explaintypes",
"-Xsource:3-cross",
Expand Down Expand Up @@ -193,17 +206,17 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform,
case (_, _) => Set(organization.value %% name.value % "2.2.5", organization.value %% name.value % "2.1.0", organization.value %% name.value % "1.0.0")
} },
scalacOptions ++= { (isSnapshot.value, scalaVersion.value) match {
case (_, "2.13.11") => Seq(
case (_, "2.13.13") => Seq(
"-Xlint:-implicit-recursion"
)
case (_, _) => Seq.empty
} },
scalacOptions ++= { (isSnapshot.value, scalaVersion.value) match {
case (false, "2.12.17") => Seq(
case (false, "2.12.19") => Seq(
"-opt:l:inline",
"-opt-inline-from:izumi.reflect.**"
)
case (false, "2.13.11") => Seq(
case (false, "2.13.13") => Seq(
"-opt:l:inline",
"-opt-inline-from:izumi.reflect.**"
)
Expand All @@ -212,47 +225,14 @@ lazy val `izumi-reflect-thirdparty-boopickle-shaded` = crossProject(JVMPlatform,
Compile / packageBin / packageOptions += Package.ManifestAttributes("Automatic-Module-Name" -> s"${organization.value.replaceAll("-",".")}.${moduleName.value.replaceAll("-",".")}"),
Compile / scalacOptions --= Seq("-Ywarn-value-discard","-Ywarn-unused:_", "-Wvalue-discard", "-Wunused:_")
)
.jvmSettings(
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17",
"2.11.12"
),
scalaVersion := crossScalaVersions.value.head
)
.jsSettings(
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17"
),
scalaVersion := crossScalaVersions.value.head,
coverageEnabled := false,
scalaJSLinkerConfig := scalaJSLinkerConfig.value.withModuleKind(ModuleKind.CommonJSModule)
)
.nativeSettings(
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17"
),
scalaVersion := crossScalaVersions.value.head,
coverageEnabled := false,
test := {},
Test / test := {}
)
lazy val `izumi-reflect-thirdparty-boopickle-shadedJVM` = `izumi-reflect-thirdparty-boopickle-shaded`.jvm
lazy val `izumi-reflect-thirdparty-boopickle-shadedJS` = `izumi-reflect-thirdparty-boopickle-shaded`.js
lazy val `izumi-reflect-thirdparty-boopickle-shadedNative` = `izumi-reflect-thirdparty-boopickle-shaded`.native

lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform).crossType(CrossType.Pure).in(file("izumi-reflect/izumi-reflect"))
lazy val `izumi-reflect` = project.in(file("izumi-reflect/izumi-reflect"))
.dependsOn(
`izumi-reflect-thirdparty-boopickle-shaded` % "test->compile;compile->compile"
)
.settings(
libraryDependencies ++= Seq(
"org.scalatest" %%% "scalatest" % V.scalatest % Test
"org.scalatest" %% "scalatest" % V.scalatest % Test
),
libraryDependencies ++= { if (scalaVersion.value.startsWith("2.")) Seq(
compilerPlugin("org.typelevel" % "kind-projector" % V.kind_projector cross CrossVersion.full),
Expand All @@ -268,7 +248,22 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform)
}
)
.settings(
crossScalaVersions := Seq(
"3.2.2",
"2.13.13",
"2.12.19",
"2.11.12"
),
scalaVersion := crossScalaVersions.value.head,
organization := "dev.zio",
Compile / unmanagedSourceDirectories += baseDirectory.value / ".jvm/src/main/scala" ,
Compile / unmanagedSourceDirectories ++= (scalaBinaryVersion.value :: CrossVersion.partialVersion(scalaVersion.value).toList.map(_._1))
.map(v => baseDirectory.value / s".jvm/src/main/scala-$v").distinct,
Compile / unmanagedResourceDirectories += baseDirectory.value / ".jvm/src/main/resources" ,
Test / unmanagedSourceDirectories += baseDirectory.value / ".jvm/src/test/scala" ,
Test / unmanagedSourceDirectories ++= (scalaBinaryVersion.value :: CrossVersion.partialVersion(scalaVersion.value).toList.map(_._1))
.map(v => baseDirectory.value / s".jvm/src/test/scala-$v").distinct,
Test / unmanagedResourceDirectories += baseDirectory.value / ".jvm/src/test/resources" ,
Compile / unmanagedSourceDirectories ++= {
val version = scalaVersion.value
val crossVersions = crossScalaVersions.value
Expand Down Expand Up @@ -358,7 +353,7 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform)
Test / testOptions += Tests.Argument("-oDF"),
scalacOptions ++= { (isSnapshot.value, scalaVersion.value) match {
case (_, "2.11.12") => Seq.empty
case (_, "2.12.17") => Seq(
case (_, "2.12.19") => Seq(
"-release:8",
"-explaintypes",
"-Ypartial-unification",
Expand Down Expand Up @@ -400,7 +395,7 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform)
"-Ycache-macro-class-loader:last-modified",
"-Wconf:msg=nowarn:silent"
)
case (_, "2.13.11") => Seq(
case (_, "2.13.13") => Seq(
"-release:8",
"-explaintypes",
"-Xsource:3-cross",
Expand Down Expand Up @@ -433,70 +428,33 @@ lazy val `izumi-reflect` = crossProject(JVMPlatform, JSPlatform, NativePlatform)
case (_, _) => Set(organization.value %% name.value % "2.2.5", organization.value %% name.value % "2.1.0", organization.value %% name.value % "1.0.0")
} },
scalacOptions ++= { (isSnapshot.value, scalaVersion.value) match {
case (_, "2.13.11") => Seq(
case (_, "2.13.13") => Seq(
"-Xlint:-implicit-recursion"
)
case (_, _) => Seq.empty
} },
scalacOptions ++= { (isSnapshot.value, scalaVersion.value) match {
case (false, "2.12.17") => Seq(
case (false, "2.12.19") => Seq(
"-opt:l:inline",
"-opt-inline-from:izumi.reflect.**"
)
case (false, "2.13.11") => Seq(
case (false, "2.13.13") => Seq(
"-opt:l:inline",
"-opt-inline-from:izumi.reflect.**"
)
case (_, _) => Seq.empty
} },
Compile / packageBin / packageOptions += Package.ManifestAttributes("Automatic-Module-Name" -> s"${organization.value.replaceAll("-",".")}.${moduleName.value.replaceAll("-",".")}")
)
.jvmSettings(
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17",
"2.11.12"
),
scalaVersion := crossScalaVersions.value.head
)
.jsSettings(
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17"
),
scalaVersion := crossScalaVersions.value.head,
coverageEnabled := false,
scalaJSLinkerConfig := scalaJSLinkerConfig.value.withModuleKind(ModuleKind.CommonJSModule)
)
.nativeSettings(
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17"
),
scalaVersion := crossScalaVersions.value.head,
coverageEnabled := false,
test := {},
Test / test := {}
)
lazy val `izumi-reflectJVM` = `izumi-reflect`.jvm
lazy val `izumi-reflectJS` = `izumi-reflect`.js
lazy val `izumi-reflectNative` = `izumi-reflect`.native

lazy val `izumi-reflect-aggregate` = (project in file(".agg/izumi-reflect-izumi-reflect-aggregate"))
.settings(
publish / skip := true,
crossScalaVersions := Nil
)
.aggregate(
`izumi-reflect-thirdparty-boopickle-shadedJVM`,
`izumi-reflect-thirdparty-boopickle-shadedJS`,
`izumi-reflect-thirdparty-boopickle-shadedNative`,
`izumi-reflectJVM`,
`izumi-reflectJS`,
`izumi-reflectNative`
`izumi-reflect-thirdparty-boopickle-shaded`,
`izumi-reflect`
)

lazy val `izumi-reflect-aggregate-jvm` = (project in file(".agg/izumi-reflect-izumi-reflect-aggregate-jvm"))
Expand All @@ -505,37 +463,17 @@ lazy val `izumi-reflect-aggregate-jvm` = (project in file(".agg/izumi-reflect-iz
crossScalaVersions := Nil
)
.aggregate(
`izumi-reflect-thirdparty-boopickle-shadedJVM`,
`izumi-reflectJVM`
)

lazy val `izumi-reflect-aggregate-js` = (project in file(".agg/izumi-reflect-izumi-reflect-aggregate-js"))
.settings(
publish / skip := true,
crossScalaVersions := Nil
)
.aggregate(
`izumi-reflect-thirdparty-boopickle-shadedJS`,
`izumi-reflectJS`
)

lazy val `izumi-reflect-aggregate-native` = (project in file(".agg/izumi-reflect-izumi-reflect-aggregate-native"))
.settings(
publish / skip := true,
crossScalaVersions := Nil
)
.aggregate(
`izumi-reflect-thirdparty-boopickle-shadedNative`,
`izumi-reflectNative`
`izumi-reflect-thirdparty-boopickle-shaded`,
`izumi-reflect`
)

lazy val `izumi-reflect-root-jvm` = (project in file(".agg/.agg-jvm"))
.settings(
publish / skip := true,
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17",
"2.13.13",
"2.12.19",
"2.11.12"
),
scalaVersion := crossScalaVersions.value.head
Expand All @@ -544,36 +482,6 @@ lazy val `izumi-reflect-root-jvm` = (project in file(".agg/.agg-jvm"))
`izumi-reflect-aggregate-jvm`
)

lazy val `izumi-reflect-root-js` = (project in file(".agg/.agg-js"))
.settings(
publish / skip := true,
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17",
"2.11.12"
),
scalaVersion := crossScalaVersions.value.head
)
.aggregate(
`izumi-reflect-aggregate-js`
)

lazy val `izumi-reflect-root-native` = (project in file(".agg/.agg-native"))
.settings(
publish / skip := true,
crossScalaVersions := Seq(
"3.2.2",
"2.13.11",
"2.12.17",
"2.11.12"
),
scalaVersion := crossScalaVersions.value.head
)
.aggregate(
`izumi-reflect-aggregate-native`
)

lazy val `izumi-reflect-root` = (project in file("."))
.settings(
publish / skip := true,
Expand Down
4 changes: 2 additions & 2 deletions project/Deps.sc
Expand Up @@ -23,8 +23,8 @@ object Izumi {

// DON'T REMOVE, these variables are read from CI build (build.sh)
final val scala211 = ScalaVersion("2.11.12")
final val scala212 = ScalaVersion("2.12.17")
final val scala213 = ScalaVersion("2.13.11")
final val scala212 = ScalaVersion("2.12.19")
final val scala213 = ScalaVersion("2.13.13")
final val scala300 = ScalaVersion("3.2.2")

// launch with `./sbtgen.sc 2` to use 2.13 in Intellij
Expand Down
14 changes: 0 additions & 14 deletions project/plugins.sbt
@@ -1,20 +1,6 @@
// DO NOT EDIT THIS FILE
// IT IS AUTOGENERATED BY `sbtgen.sc` SCRIPT
// ALL CHANGES WILL BE LOST
// https://www.scala-js.org/
addSbtPlugin("org.scala-js" % "sbt-scalajs" % PV.scala_js_version)

// https://github.com/portable-scala/sbt-crossproject
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % PV.sbt_crossproject_version)

// https://scalacenter.github.io/scalajs-bundler/
addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.21.1")

// https://github.com/scala-js/jsdependencies
addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.2")
addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % PV.sbt_crossproject_version)

addSbtPlugin("org.scala-native" % "sbt-scala-native" % PV.scala_native_version)

////////////////////////////////////////////////////////////////////////////////

Expand Down

0 comments on commit 8362f58

Please sign in to comment.