aqua/build.sbt

222 lines
5.8 KiB
Plaintext
Raw Normal View History

val dottyVersion = "3.1.0"
scalaVersion := dottyVersion
2021-02-17 13:30:45 +00:00
2021-04-14 11:15:27 +00:00
val baseAquaVersion = settingKey[String]("base aqua version")
val catsV = "2.7.0"
val catsParseV = "0.3.6"
val monocleV = "3.1.0"
val scalaTestV = "3.2.10"
val fs2V = "3.2.5"
val catsEffectV = "3.3.7"
val declineV = "2.2.0"
2021-10-21 13:47:04 +00:00
val circeVersion = "0.14.1"
2022-04-20 11:45:42 +00:00
val scribeV = "3.7.1"
2021-04-08 12:53:54 +00:00
name := "aqua-hll"
val commons = Seq(
2022-04-20 11:45:42 +00:00
baseAquaVersion := "0.7.2",
2021-09-13 10:29:35 +00:00
version := baseAquaVersion.value + "-" + sys.env.getOrElse("BUILD_NUMBER", "SNAPSHOT"),
2021-05-24 08:00:45 +00:00
scalaVersion := dottyVersion,
libraryDependencies ++= Seq(
"com.outr" %%% "scribe" % scribeV,
"org.scalatest" %%% "scalatest" % scalaTestV % Test
2021-05-24 08:00:45 +00:00
),
2021-08-06 10:33:58 +00:00
scalacOptions ++= {
Seq(
"-encoding",
"UTF-8",
"-feature",
"-language:implicitConversions",
"-unchecked",
"-Ykind-projector"
// "-Xfatal-warnings"
2021-08-06 10:33:58 +00:00
)
}
)
commons
lazy val cli = crossProject(JSPlatform, JVMPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.in(file("cli"))
.settings(commons: _*)
.settings(
libraryDependencies ++= Seq(
2022-05-17 12:05:25 +00:00
"com.monovore" %%% "decline" % declineV,
"com.monovore" %%% "decline-effect" % declineV
)
)
2022-05-17 12:05:25 +00:00
.dependsOn(compiler, `backend-air`, `backend-ts`, io)
lazy val cliJS = cli.js
.settings(
2021-10-13 08:10:10 +00:00
scalaJSLinkerConfig ~= (_.withModuleKind(ModuleKind.ESModule)),
scalaJSUseMainModuleInitializer := true
)
lazy val cliJVM = cli.jvm
.settings(
2021-04-22 13:42:08 +00:00
Compile / run / mainClass := Some("aqua.AquaCli"),
assembly / mainClass := Some("aqua.AquaCli"),
assembly / assemblyJarName := "aqua-" + version.value + ".jar",
libraryDependencies ++= Seq(
)
)
2022-05-17 12:05:25 +00:00
lazy val io = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.settings(commons: _*)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %%% "cats-effect" % catsEffectV,
"co.fs2" %%% "fs2-io" % fs2V
)
)
.dependsOn(compiler, parser)
lazy val `language-server-api` = project
.in(file("language-server-api"))
.enablePlugins(ScalaJSPlugin)
.settings(commons: _*)
.settings(
scalaJSLinkerConfig ~= (_.withModuleKind(ModuleKind.CommonJSModule)),
scalaJSUseMainModuleInitializer := true
)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %%% "cats-effect" % catsEffectV,
"co.fs2" %%% "fs2-io" % fs2V
)
)
.dependsOn(compiler.js, io.js)
lazy val types = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.settings(commons)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %%% "cats-core" % catsV
)
)
lazy val parser = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.settings(commons: _*)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %%% "cats-parse" % catsParseV,
"org.typelevel" %%% "cats-free" % catsV
)
)
.dependsOn(types)
2021-02-01 13:17:46 +00:00
lazy val linker = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.settings(commons: _*)
.dependsOn(parser)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
lazy val tree = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
.in(file("model/tree"))
.settings(commons: _*)
.settings(
libraryDependencies ++= Seq(
"org.typelevel" %%% "cats-free" % catsV
)
)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
lazy val raw = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.in(file("model/raw"))
.settings(commons: _*)
.dependsOn(types, tree)
lazy val model = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.settings(commons: _*)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
.dependsOn(types, tree, raw)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
lazy val res = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
.in(file("model/res"))
.settings(commons: _*)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
.dependsOn(model)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
lazy val inline = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
.in(file("model/inline"))
.settings(commons: _*)
.dependsOn(raw, model)
lazy val transform = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.in(file("model/transform"))
2021-06-18 14:01:31 +00:00
.settings(commons: _*)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
.dependsOn(model, res, inline)
2021-06-18 14:01:31 +00:00
lazy val semantics = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.settings(commons: _*)
2021-02-01 13:17:46 +00:00
.settings(
libraryDependencies ++= Seq(
"dev.optics" %%% "monocle-core" % monocleV,
"dev.optics" %%% "monocle-macro" % monocleV
2021-03-19 09:40:27 +00:00
)
2021-02-01 13:17:46 +00:00
)
Op model (#403) * Separating raw FuncOp from OpModel WIP * Model compiles, fighting with transform * Refactoring WIP * transform compiles * Fixing AquaCompiler WIP * Compiler compiles WIP * AquaContext's allFuncs, allValues * WIP trying to compile the CLI * It compiles * It runs and fails to compile * Compiles wrong way * fix TopologySpec * Sugar bugfix * fix TransformSpec compilation * fix test compilation * fix SemanticSpec * Topology debugging * TransformSpec fixed * Do not import aqua.model * Take parts in Semantics * Fix for re-exports * Maybe a fix for streams * Maybe a fix for declarations * streamArgs.aqua in test examples * more aqua code with bugs * FuncOp removed * removed wrapNonEmpty * fix TransformSpec * fix SemanticSpec compilation, delete FuncOps * Separated model/res, model/inline * tiny fix * Tests fixed * TreeNode to wrap labels into cofree standard way * TreeNodeCompanion with defauls show, equalsOrShowDiff for all Cofree trees we have * Simple TagInlinerSpec * Failing test in TagInlinerSpec * test wip * test fixed * delete Node * delete test-kit, move tests * fix constants * Failing TagInliner test * More complex case for TagInlinerSpec * TagInlinerSpec fix * Split RawValueInliner, TagInliner * Dumb case for ArrowInlinerSpec * spec for stream renaming * renaming stream test * Exports fixed * SeqModel.wrapWithEmpty for tests * Deleted EmptyModel * Bring back EmptyModel * ArrowInlinerSpec wip * ArrowInlinerSpec fixed * Test fixed * fix * stream in callback test WIP * Slightly better logging for TagInliner * add example in aqua * test update * Removed occasional abilities override * test * AquaCompilerSpec WIP * AquaCompilerSpec failing * AquaCompilerSpec fixed * fix test * compiler test, add RestrictionTag * break test * fix stream passing to box arguments * fix exports in context * Do not reexport builtins * init for topology bug * test for topology * Reproduced the import-reexport bug * Hops are working... * Issue #397 does not reproduce! * foldJoin reproduces the bug * Reexports inefficiently fixed * Topology test fixed * topology bug * Cache compiled parts * Cache compiled parts * ignore the wip topology test * delete test * hanging * add builtin * Use linked-data-structure `equals` instead of recursive `hashCode` * A bit more logs * eq is faster than == * Try to join one by one * op.identity for join * reverting op.noop for join * Fix for renaming when value has the same name as argument * Bump the version to .6 * broken test for names * second test for renaming * this test works but i must break it * add index in call * JoinModel breaks test * the test works fine with a fix, but we should check it closely. and `foldJoin.aqua` integration test become broken * broken test with xor * Fixed naming issue for lambda's variables substitution * Topology bug wip * Fixes #397 * Maybe fix Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2022-01-31 11:48:13 +00:00
.dependsOn(raw, parser)
lazy val compiler = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
2021-06-29 13:31:20 +00:00
.in(file("compiler"))
.settings(commons: _*)
.dependsOn(semantics, linker, backend)
2021-06-29 13:31:20 +00:00
lazy val backend = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
2021-06-25 07:25:27 +00:00
.in(file("backend"))
.settings(commons: _*)
.enablePlugins(BuildInfoPlugin)
.settings(
2021-11-04 16:22:57 +00:00
buildInfoKeys := Seq[BuildInfoKey](version),
buildInfoPackage := "aqua.backend"
)
.dependsOn(transform)
2021-06-25 07:25:27 +00:00
lazy val `backend-air` = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.in(file("backend/air"))
.settings(commons: _*)
2021-06-25 07:25:27 +00:00
.dependsOn(backend)
2021-03-02 16:46:27 +00:00
lazy val `backend-ts` = crossProject(JVMPlatform, JSPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.in(file("backend/ts"))
.settings(commons: _*)
2021-10-21 13:47:04 +00:00
.settings(
libraryDependencies ++= Seq(
"io.circe" %%% "circe-core",
"io.circe" %%% "circe-generic",
"io.circe" %%% "circe-parser"
).map(_ % circeVersion)
)
.dependsOn(`backend-air`)