60 lines
1.8 KiB
Scala
60 lines
1.8 KiB
Scala
import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType}
|
|
|
|
scalaVersion in ThisBuild := "2.12.8"
|
|
|
|
val compilerOptions = Seq(
|
|
"-unchecked",
|
|
"-deprecation",
|
|
"-feature",
|
|
"-language:higherKinds",
|
|
"-Ypartial-unification",
|
|
)
|
|
|
|
val mainSettings = Seq(
|
|
name := "cataquack",
|
|
organization := "tf.bug",
|
|
version := "0.1.0",
|
|
scalaVersion := "2.12.8",
|
|
scalacOptions ++= compilerOptions,
|
|
libraryDependencies ++= Seq(
|
|
"org.typelevel" %%% "cats-core" % "1.5.0",
|
|
"org.typelevel" %%% "cats-effect" % "1.1.0",
|
|
),
|
|
resolvers += Resolver.sonatypeRepo("releases"),
|
|
addCompilerPlugin("org.spire-math" % "kind-projector" % "0.9.8" cross CrossVersion.binary)
|
|
)
|
|
|
|
lazy val cataquack =
|
|
crossProject(JSPlatform, JVMPlatform)
|
|
.crossType(CrossType.Pure)
|
|
.settings(mainSettings)
|
|
.jsSettings(crossScalaVersions := Seq("2.11.12", "2.12.8"))
|
|
.jvmSettings(crossScalaVersions := Seq("2.11.12", "2.12.8"))
|
|
|
|
lazy val cataquackJS = cataquack.js
|
|
lazy val cataquackJVM = cataquack.jvm
|
|
|
|
val jsonDirSettings = Seq(
|
|
name := "cataquack-jsondir",
|
|
organization := "tf.bug",
|
|
version := "0.1.0",
|
|
scalaVersion := "2.12.8",
|
|
scalacOptions ++= compilerOptions,
|
|
libraryDependencies ++= Seq(
|
|
"io.circe" %%% "circe-core" % "0.11.0",
|
|
"io.circe" %%% "circe-generic" % "0.11.0",
|
|
"io.circe" %%% "circe-parser" % "0.11.0",
|
|
),
|
|
resolvers += Resolver.sonatypeRepo("releases"),
|
|
addCompilerPlugin("org.spire-math" % "kind-projector" % "0.9.8" cross CrossVersion.binary)
|
|
)
|
|
|
|
lazy val cataquackJsonDir =
|
|
crossProject(JVMPlatform)
|
|
.crossType(CrossType.Pure)
|
|
.settings(jsonDirSettings)
|
|
.jvmSettings(crossScalaVersions := Seq("2.11.12", "2.12.8"))
|
|
.dependsOn(cataquack)
|
|
|
|
lazy val cataquackJsonDirJVM = cataquackJsonDir.jvm
|