sfs/build.sbt
2024-10-26 20:47:22 +02:00

82 lines
2 KiB
Scala

ThisBuild / scalaVersion := "3.5.2"
ThisBuild / versionScheme := Some("semver-spec")
ThisBuild / publishMavenStyle := true
ThisBuild / publishTo := Some(
"GitHub Package Registry" at "https://maven.pkg.github.com/davidon-top/sfs"
)
ThisBuild / credentials += Credentials(
"GitHub Package Registry",
"maven.pkg.github.com",
sys.env("THEHUB_USERNAME"),
sys.env("THEHUB_TOKEN")
)
ThisBuild / licenses += ("MIT", url("https://opensource.org/license/MIT"))
ThisBuild / scmInfo := Some(
ScmInfo(
url("https://github.com/davidon-top/sfs"),
"scm:https://github.com/davidon-top/sfs.git"
)
)
ThisBuild / organization := "top.davidon.sfs"
ThisBuild / organizationName := "DavidOnTop"
ThisBuild / organizationHomepage := Some(url("https://davidon.top"))
lazy val generate = taskKey[Unit]("pre compilation codegen task")
generate := DomGenerator.generate()
(Compile / compile) := ((Compile / compile) dependsOn generate).value
lazy val dom = crossProject(JSPlatform, JVMPlatform)
.crossType(CrossType.Pure)
.in(file("./dom"))
.settings(
name := "sfs-dom",
version := "0.1.0-alpha"
)
.jvmSettings(
libraryDependencies ++= Seq(
"org.scala-js" % "scalajs-dom_sjs1_3" % "2.8.0"
)
)
.jsSettings(
libraryDependencies ++= Seq(
"org.scala-js" % "scalajs-dom_sjs1_3" % "2.8.0"
)
)
lazy val sfs = crossProject(JSPlatform, JVMPlatform)
.crossType(CrossType.Pure)
.in(file("./sfs"))
.settings(
name := "sfs",
version := "0.1.0-alpha"
)
.dependsOn(dom)
lazy val sfsRouter = crossProject(JSPlatform, JVMPlatform)
.crossType(CrossType.Pure)
.in(file("./router"))
.settings(
name := "sfs-router",
version := "0.1.0-alpha"
)
lazy val sfsReScala = crossProject(JSPlatform, JVMPlatform)
.crossType(CrossType.Pure)
.in(file("./reactive/rescala"))
.settings(
name := "sfs-rescala",
version := "0.1.0-alpha"
)
lazy val sfsZio = project
.in(file("./integrations/zio"))
.settings(
name := "sfs-zio",
version := "0.1.0-alpha"
)