cataquack/build.sbt

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