val scala3: String = "3.4.0"

ThisBuild / scalaVersion  := scala3
ThisBuild / versionScheme := Some("semver-spec")
ThisBuild / gsProjectName := "gs-slug"

val sharedSettings = Seq(
  scalaVersion               := scala3,
  version                    := semVerSelected.value,
  coverageFailOnMinimum      := true,
  coverageMinimumStmtTotal   := 100,
  coverageMinimumBranchTotal := 100
)

lazy val testSettings = Seq(
  libraryDependencies ++= Seq(
    "org.scalameta" %% "munit" % "1.0.0-M10" % Test
  )
)

lazy val `gs-slug` = project
  .in(file("."))
  .settings(sharedSettings)
  .settings(testSettings)
  .settings(name := s"${gsProjectName.value}-v${semVerMajor.value}")