aqua/build.sbt
Dmitry Kurinskiy 985309d4eb
Fixes missing par (#177)
* Fixes missing par

* test for par

* Par topology bug fixed

* test `on` on every par branch

* Topology refactoring

* Tests compilation wip

* Tests compilation wip

* Tests compile

* Test fix

* Non-par tests fixed

* The last test remains

* Topology tests fixed

* SemanticsSpec compiles

* transformspec wip

* fix diff

* TransformSpec with diff

* test for error handling

* topology resolver spec wip

* delete test, rename test

* fixed

* par with export variable test

* test for try without catch

* Handle try without catch

* XorParTag fix

* Wake up target peer after par

* Increment version

* Fix xor par during func model resolution

* test with import and fold

* Linker bug fixed

Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2021-06-22 11:03:45 +03:00

124 lines
3.4 KiB
Scala

val dottyVersion = "2.13.5"
//val dottyVersion = "3.0.0"
scalaVersion := dottyVersion
val baseAquaVersion = settingKey[String]("base aqua version")
val catsV = "2.6.1"
val catsParseV = "0.3.4"
val monocleV = "3.0.0-M5"
val scalaTestV = "3.2.9"
val fs2V = "3.0.4"
val catsEffectV = "3.1.1"
val airframeLogV = "21.5.4"
val log4catsV = "2.1.1"
val enumeratumV = "1.6.1" // Scala3 issue: https://github.com/lloydmeta/enumeratum/issues/300
val slf4jV = "1.7.30"
val declineV = "2.0.0-RC1" // Scala3 issue: https://github.com/bkirwi/decline/issues/260
val declineEnumV = "1.3.0"
val airframeLog = "org.wvlet.airframe" %% "airframe-log" % airframeLogV
name := "aqua-hll"
val commons = Seq(
baseAquaVersion := "0.1.7",
version := baseAquaVersion.value + "-" + sys.env.getOrElse("BUILD_NUMBER", "SNAPSHOT"),
scalaVersion := dottyVersion,
libraryDependencies ++= Seq(
"org.typelevel" %% "log4cats-core" % log4catsV,
airframeLog,
"org.scalatest" %% "scalatest" % scalaTestV % Test
),
addCompilerPlugin("org.typelevel" %% "kind-projector" % "0.11.3" cross CrossVersion.full)
)
commons
lazy val cli = project
.settings(commons: _*)
.settings(
Compile / run / mainClass := Some("aqua.AquaCli"),
assembly / mainClass := Some("aqua.AquaCli"),
assembly / assemblyJarName := "aqua-cli-" + version.value + ".jar",
libraryDependencies ++= Seq(
"com.monovore" %% "decline" % declineV,
"com.monovore" %% "decline-effect" % declineV,
"org.typelevel" %% "cats-effect" % catsEffectV,
"co.fs2" %% "fs2-core" % fs2V,
"co.fs2" %% "fs2-io" % fs2V,
"org.typelevel" %% "log4cats-slf4j" % log4catsV,
"com.beachape" %% "enumeratum" % enumeratumV,
"org.slf4j" % "slf4j-jdk14" % slf4jV,
"com.monovore" %% "decline-enumeratum" % declineEnumV
)
)
.dependsOn(semantics, `backend-air`, `backend-ts`, `backend-js`, linker)
lazy val types = project
.settings(commons)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-core" % catsV
)
)
lazy val parser = project
.settings(commons: _*)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-parse" % catsParseV,
"org.typelevel" %% "cats-free" % catsV
)
)
.dependsOn(types)
lazy val linker = project
.settings(commons: _*)
.settings(
libraryDependencies ++= Seq(
"org.wvlet.airframe" %% "airframe-log" % airframeLogV
)
)
.dependsOn(parser)
lazy val model = project
.settings(commons: _*)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-free" % catsV
)
)
.dependsOn(types)
lazy val `test-kit` = project
.settings(commons: _*)
.dependsOn(model)
lazy val semantics = project
.settings(commons: _*)
.settings(
libraryDependencies ++= Seq(
"com.github.julien-truffaut" %% "monocle-core" % monocleV,
"com.github.julien-truffaut" %% "monocle-macro" % monocleV
)
)
.dependsOn(model, `test-kit` % Test, parser)
lazy val `backend-air` = project
.in(file("backend/air"))
.settings(commons: _*)
.dependsOn(model)
lazy val `backend-ts` = project
.in(file("backend/ts"))
.settings(commons: _*)
.dependsOn(`backend-air`)
lazy val `backend-js` = project
.in(file("backend/js"))
.settings(commons: _*)
.dependsOn(`backend-air`)