gs-std/build.sbt
Pat Garrity ba21bc728c
All checks were successful
/ Build and Test Library Snapshot (pull_request) Successful in 2m29s
(minor) Add support for SBT 2
2026-07-20 22:12:52 -05:00

76 lines
1.8 KiB
Scala

val scala3: String = "3.8.4"
ThisBuild / scalaVersion := scala3
ThisBuild / versionScheme := Some("semver-spec")
ThisBuild / gsProjectName := "gs-std"
ThisBuild / licenses := Seq(
"MIT" -> url(
"https://codeberg.org/gs_pfm/gs-std/src/branch/main/LICENSE"
)
)
val sharedSettings = Seq(
scalaVersion := scala3,
coverageFailOnMinimum := true
// coverageMinimumStmtTotal := 100,
// coverageMinimumBranchTotal := 100
)
val Deps = (
Cats = (
Core = "org.typelevel" %% "cats-core" % "2.13.0",
Effect = "org.typelevel" %% "cats-effect" % "3.7.0"
),
Fs2 = (
Core = "co.fs2" %% "fs2-core" % "3.13.0",
IO = "co.fs2" %% "fs2-io" % "3.13.0"
),
MUnit = "org.scalameta" %% "munit" % "1.3.0" % Test
)
lazy val testSettings = Seq(
libraryDependencies ++= Seq(
Deps.MUnit
)
)
lazy val `gs-std` = project
.in(file("."))
.aggregate(core, io, effect)
.settings(sharedSettings)
.settings(testSettings)
.settings(name := s"${gsProjectName.value}-v${semVerMajor.value}")
lazy val core = project
.in(file("modules/core"))
.settings(sharedSettings)
.settings(testSettings)
.settings(name := s"${gsProjectName.value}-core-v${semVerMajor.value}")
lazy val io = project
.in(file("modules/io"))
.settings(sharedSettings)
.settings(testSettings)
.settings(name := s"${gsProjectName.value}-io-v${semVerMajor.value}")
.settings(
libraryDependencies ++= Seq(
Deps.Cats.Core,
Deps.Cats.Effect,
Deps.Fs2.Core,
Deps.Fs2.IO
)
)
lazy val effect = project
.in(file("modules/effect"))
.dependsOn(core)
.dependsOn(io % "test->compile")
.settings(sharedSettings)
.settings(testSettings)
.settings(name := s"${gsProjectName.value}-effect-v${semVerMajor.value}")
.settings(
libraryDependencies ++= Seq(Deps.Cats.Core, Deps.Cats.Effect, Deps.Fs2.Core)
)