fizzbuzz/build.sbt

59 lines
1.4 KiB
Scala

val scala3: String = "3.8.4"
ThisBuild / scalaVersion := scala3
ThisBuild / gsProjectName := "fizzbuzz"
ThisBuild / externalResolvers := Seq(
"Garrity Software Mirror" at "https://maven.garrity.co/releases",
"Garrity Software Releases" at "https://maven.garrity.co/gs"
)
lazy val sharedSettings = Seq(
scalaVersion := scala3,
version := calVer.value,
publish / skip := true,
publishLocal / skip := true,
publishArtifact := false
)
val Deps = new {
val Cats = new {
val Core: ModuleID = "org.typelevel" %% "cats-core" % "2.13.0"
val Effect: ModuleID = "org.typelevel" %% "cats-effect" % "3.7.0"
}
val Fs2 = new {
private val Version: String = "3.13.0"
val Core: ModuleID = "co.fs2" %% "fs2-core" % Version
val IO: ModuleID = "co.fs2" %% "fs2-io" % Version
}
val Gs = new {
val Std: ModuleID = "gs" %% "gs-std-core-v0" % "0.1.3"
val Datagen: ModuleID = "gs" %% "gs-datagen-core-v0" % "0.4.1"
}
val MUnit: ModuleID = "org.scalameta" %% "munit" % "1.3.0"
}
lazy val testSettings = Seq(
libraryDependencies ++= Seq(
Deps.MUnit % Test,
Deps.Gs.Datagen % Test
)
)
lazy val fizzbuzz = project
.in(file("."))
.settings(sharedSettings)
.settings(testSettings)
.settings(name := s"${gsProjectName.value}")
.settings(fork := true)
.settings(
libraryDependencies ++= Seq(
Deps.Cats.Core,
Deps.Cats.Effect,
Deps.Fs2.Core
)
)