aboutsummaryrefslogtreecommitdiff
path: root/build.sbt
blob: b3da6dc18573e6f4d94ba559dd318a64dec0de22 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// shadow sbt-scalajs' crossProject and CrossType from Scala.js 0.6.x
import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType}
import sbt._

lazy val akkaHttpV = "10.1.1"

lazy val core = crossProject(JSPlatform, JVMPlatform)
  .crossType(CrossType.Full)
  .in(file("."))
  .enablePlugins(Library)
  .disablePlugins(Linting)
  .settings(
    scalacOptions in Compile ++= Seq(
      "-language:higherKinds",
      "-language:implicitConversions",
      "-language:postfixOps",
      "-language:reflectiveCalls", // TODO this should be discouraged
      "-unchecked",
      "-deprecation",
      "-feature",
      "-encoding",
      "utf8",
      "-Xlint:_,-unused,-missing-interpolator",
      "-Ywarn-numeric-widen",
      "-Ywarn-dead-code",
      "-Ywarn-unused:_,-explicits,-implicits"
    ),
    libraryDependencies ++= Seq(
      "xyz.driver"    %%% "spray-json-derivation" % "0.4.7",
      "com.beachape"  %%% "enumeratum"            % "1.5.13",
      "org.scalaz"    %%% "scalaz-core"           % "7.2.24",
      "eu.timepit"    %%% "refined"               % "0.9.1",
      "org.scalatest" %%% "scalatest"             % "3.0.5" % "test"
    )
  )
  .jvmSettings(libraryDependencies ++= Seq(
    "xyz.driver"                    %% "tracing"              % "0.1.2",
    "com.typesafe.akka"             %% "akka-actor"           % "2.5.13",
    "com.typesafe.akka"             %% "akka-stream"          % "2.5.13",
    "com.typesafe.akka"             %% "akka-http-core"       % akkaHttpV,
    "com.typesafe.akka"             %% "akka-http-spray-json" % akkaHttpV,
    "com.typesafe.akka"             %% "akka-http-testkit"    % akkaHttpV,
    "com.pauldijou"                 %% "jwt-core"             % "0.16.0",
    "org.scalacheck"                %% "scalacheck"           % "1.14.0" % "test",
    "com.github.swagger-akka-http"  %% "swagger-akka-http"    % "0.14.0",
    "com.typesafe.scala-logging"    %% "scala-logging"        % "3.9.0",
    "com.typesafe.slick"            %% "slick"                % "3.2.3",
    "org.mockito"                   % "mockito-core"          % "1.9.5" % Test,
    "com.amazonaws"                 % "aws-java-sdk-s3"       % "1.11.342",
    "com.google.cloud"              % "google-cloud-pubsub"   % "1.31.0",
    "com.google.cloud"              % "google-cloud-storage"  % "1.31.0",
    "com.typesafe"                  % "config"                % "1.3.3",
    "ch.qos.logback"                % "logback-classic"       % "1.2.3",
    "ch.qos.logback.contrib"        % "logback-json-classic"  % "0.1.5",
    "ch.qos.logback.contrib"        % "logback-jackson"       % "0.1.5",
    "com.googlecode.libphonenumber" % "libphonenumber"        % "8.9.7"
  ))

lazy val coreJVM = core.jvm
lazy val coreJS  = core.js