fpp/compiler/build.sbt
2025-01-22 18:21:57 -08:00

114 lines
2.9 KiB
Scala

// See https://pbassiner.github.io/blog/defining_multi-project_builds_with_sbt.html
name := "fpp-compiler"
ThisBuild / organization := "gov.nasa.jpl"
ThisBuild / scalaVersion := "3.1.2"
lazy val settings = Seq(
scalacOptions ++= Seq(
"-deprecation",
"-unchecked",
"-Xfatal-warnings",
"-Xmax-inlines:100"
),
libraryDependencies ++= dependencies,
Test / testOptions += Tests.Argument(TestFrameworks.ScalaTest, "-oNCXELOPQRM"),
)
lazy val dependencies = Seq(
"com.github.scopt" %% "scopt" % "4.0.1",
"io.circe" %% "circe-core" % "0.14.3",
"io.circe" %% "circe-generic" % "0.14.3",
"io.circe" %% "circe-parser" % "0.14.3",
"org.scala-lang.modules" %% "scala-parser-combinators" % "2.1.1",
"org.scala-lang.modules" %% "scala-xml" % "2.1.0",
"org.scalatest" %% "scalatest" % "3.2.12" % "test",
)
lazy val root = (project in file("."))
.settings(settings)
.aggregate(
lib,
fpp_check,
fpp_depend,
fpp_filenames,
fpp_format,
fpp_from_xml,
fpp_locate_defs,
fpp_locate_uses,
fpp_syntax,
fpp_to_cpp,
fpp_to_json,
fpp_to_xml,
fpp_to_dict,
fpp_to_layout
)
lazy val lib = project
.settings(settings)
lazy val fpp_check = (project in file("tools/fpp-check"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_depend = (project in file("tools/fpp-depend"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_filenames = (project in file("tools/fpp-filenames"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_format = (project in file("tools/fpp-format"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_syntax = (project in file("tools/fpp-syntax"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_from_xml = (project in file("tools/fpp-from-xml"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_locate_defs = (project in file("tools/fpp-locate-defs"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_locate_uses = (project in file("tools/fpp-locate-uses"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_to_cpp = (project in file("tools/fpp-to-cpp"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_to_json = (project in file("tools/fpp-to-json"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_to_xml = (project in file("tools/fpp-to-xml"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_to_dict = (project in file("tools/fpp-to-dict"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)
lazy val fpp_to_layout = (project in file("tools/fpp-to-layout"))
.settings(settings)
.dependsOn(lib)
.enablePlugins(AssemblyPlugin)