-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathScalaSettings.scala
More file actions
29 lines (24 loc) · 1.15 KB
/
ScalaSettings.scala
File metadata and controls
29 lines (24 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package millbuild.settings
import zio.config.magnolia.deriveConfig
import zio.Config
import millbuild.crossplatform.DevMode
final case class ScalaSettings(
defaultVersion: String = ScalaSettings.defaultVersion,
scala212Version: String = ScalaSettings.defaultScala212Version,
scala213Version: String = ScalaSettings.defaultScala213Version,
scala3xVersion: String = ScalaSettings.defaultScala3xVersion,
crossScalaVersions: List[String] = ScalaSettings.defaultCrossScalaVersions
)
object ScalaSettings {
import DevMode._
val config: Config[ScalaSettings] = deriveConfig[ScalaSettings]
lazy val default: ScalaSettings = ScalaSettings()
lazy val defaultVersion = defaultScala3xVersion
implicit val rw: upickle.default.ReadWriter[ScalaSettings] = upickle.default.macroRW
val defaultScala212Version = "2.12.21"
val defaultScala213Version = "2.13.16"
val defaultScala3xVersion = "3.3.6"
val defaultCrossScalaVersions: List[String] =
if (devMode) List(defaultScala3xVersion)
else List(defaultScala3xVersion, defaultScala213Version, defaultScala212Version)
}