val scala3: String = "3.3.1" ThisBuild / scalaVersion := scala3 ThisBuild / versionScheme := Some("semver-spec") ThisBuild / gsProjectName := "ava" val sharedSettings = Seq( scalaVersion := scala3, version := semVerSelected.value ) lazy val testSettings = Seq( libraryDependencies ++= Seq( "org.scalameta" %% "munit" % "1.0.0-M11" % Test ) ) lazy val ava = project .in(file(".")) .aggregate(parser) .settings(sharedSettings) .settings(name := s"${gsProjectName.value}-v${semVerMajor.value}") lazy val parser = project .in(file("modules/parser")) .settings(sharedSettings) .settings(testSettings) .settings(name := s"${gsProjectName.value}-parser-v${semVerMajor.value}") .settings( libraryDependencies ++= Seq( "co.fs2" %% "fs2-core" % "3.9.4" % Test, "co.fs2" %% "fs2-io" % "3.9.4" % Test ) )