107 lines
2.9 KiB
Scala
107 lines
2.9 KiB
Scala
import sbt.Keys._
|
|
|
|
name := "redstream"
|
|
|
|
resolvers in Scope.GlobalScope += Resolver.sonatypeRepo("snapshots")
|
|
|
|
libraryDependencies += "com.lihaoyi" %%% "utest" % "0.3.0" % "test"
|
|
|
|
testFrameworks += new TestFramework("utest.runner.Framework")
|
|
|
|
|
|
lazy val commonSettings = Seq{
|
|
version := "1.0"
|
|
scalaVersion := "2.11.8"
|
|
}
|
|
|
|
lazy val root = project.in(file("."))
|
|
.aggregate(apiJS, apiJVM)
|
|
.settings(commonSettings:_*)
|
|
|
|
|
|
lazy val IterateeVersion = "0.4.0-SNAPSHOT"
|
|
lazy val CirceVersion = "0.4.0-RC1"
|
|
lazy val MonixVersion = "2.0-M1"
|
|
lazy val ShapelessVersion = "2.3.0"
|
|
|
|
lazy val api = crossProject
|
|
.settings(commonSettings:_*)
|
|
.settings(
|
|
name := "api",
|
|
initialCommands in console :=
|
|
"""
|
|
|import net.shimun.redstream._
|
|
|import api._
|
|
|import io.iteratee._
|
|
|import scala.concurrent._
|
|
|import monix.async._
|
|
|implicit val ds = api.DataSource.Default
|
|
|import ds._
|
|
""".stripMargin.split("\n").mkString(";")
|
|
).jvmSettings(
|
|
libraryDependencies ++= Seq(
|
|
"io.circe" %% "circe-parser" % CirceVersion,
|
|
"io.circe" %% "circe-generic" % CirceVersion,
|
|
"io.iteratee" %% "iteratee-core" % IterateeVersion,
|
|
"io.monix" %% "monix-async" % MonixVersion,
|
|
"com.chuusai" %% "shapeless" % ShapelessVersion
|
|
)
|
|
).jsSettings(
|
|
libraryDependencies ++= Seq(
|
|
"io.circe" %%% "circe-parser" % CirceVersion,
|
|
"io.circe" %%% "circe-generic" % CirceVersion,
|
|
"io.iteratee" %%% "iteratee-core" % IterateeVersion,
|
|
"io.monix" %%% "monix-async" % MonixVersion,
|
|
"com.chuusai" %%% "shapeless" % ShapelessVersion,
|
|
"org.scala-js" %%% "scalajs-dom" % "0.8.0"
|
|
)
|
|
).enablePlugins(ScalaJSPlugin)
|
|
|
|
lazy val apiJS = api.js
|
|
|
|
lazy val apiJVM = api.jvm
|
|
|
|
lazy val client = project
|
|
.settings(commonSettings:_*)
|
|
.settings(
|
|
libraryDependencies ++= Seq(
|
|
"org.scala-js" %%% "scalajs-dom" % "0.8.0",
|
|
"com.github.japgolly.scalajs-react" %%% "core" % "0.10.4",
|
|
"com.github.japgolly.scalacss" %%% "ext-react" % "0.4.0",
|
|
"com.chuusai" %%% "shapeless" % "2.2.5"
|
|
),
|
|
persistLauncher := true,
|
|
jsDependencies += RuntimeDOM,
|
|
jsDependencies ++= Seq(
|
|
"org.webjars.bower" % "react" % "0.14.3"
|
|
/ "react-with-addons.js"
|
|
minified "react-with-addons.min.js"
|
|
commonJSName "React",
|
|
|
|
"org.webjars.bower" % "react" % "0.14.3"
|
|
/ "react-dom.js"
|
|
minified "react-dom.min.js"
|
|
dependsOn "react-with-addons.js"
|
|
commonJSName "ReactDOM")
|
|
)
|
|
.dependsOn(apiJS)
|
|
.dependsOn(`client-macros`)
|
|
.enablePlugins(ScalaJSPlugin)
|
|
|
|
lazy val `client-macros` = project
|
|
.settings(commonSettings:_*)
|
|
.settings(
|
|
libraryDependencies <+= scalaVersion("org.scala-lang" % "scala-compiler" % _)
|
|
)
|
|
.enablePlugins(ScalaJSPlugin)
|
|
|
|
skip in packageJSDependencies := false
|
|
|
|
|
|
|
|
//jsDependencies += "org.webjars" % "ractive" % "0.7.1" / "ractive.js" minified "ractive.min.js"
|
|
|
|
//which one ?
|
|
|
|
|