aboutsummaryrefslogtreecommitdiff
path: root/build.sbt
blob: 90698dfee581b8a31c4f64208b84fc9f4b63636f (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import sbt._
import Keys._

scalacOptions in ThisBuild in (Compile, doc) ++= Seq(
  "-groups", // group similar methods together based on the @group annotation.
  "-diagrams", // show class hierarchy diagrams (requires 'dot' to be available on path)
  "-implicits", // add methods "inherited" through implicit conversions
  "-sourcepath",
  baseDirectory.value.getAbsolutePath,
  "-doc-source-url",
  s"https://github.com/drivergroup/driver-core/blob/master€{FILE_PATH}.scala"
)

// TODO these shouldn't be declared in the build scope. They should be moved to the individual
// sub-projects that actually depend on them.
libraryDependencies in ThisBuild ++= Seq(
  // please keep these sorted alphabetically
  "ch.qos.logback"                % "logback-classic"        % "1.2.3",
  "ch.qos.logback.contrib"        % "logback-jackson"        % "0.1.5",
  "ch.qos.logback.contrib"        % "logback-json-classic"   % "0.1.5",
  "com.aliyun.mns"                % "aliyun-sdk-mns"         % "1.1.8",
  "com.aliyun.oss"                % "aliyun-sdk-oss"         % "2.8.2",
  "com.amazonaws"                 % "aws-java-sdk-s3"        % "1.11.342",
  "com.beachape"                  %% "enumeratum"            % "1.5.13",
  "com.github.swagger-akka-http"  %% "swagger-akka-http"     % "1.0.0",
  "com.google.cloud"              % "google-cloud-pubsub"    % "1.31.0",
  "com.google.cloud"              % "google-cloud-storage"   % "1.31.0",
  "com.googlecode.libphonenumber" % "libphonenumber"         % "8.9.7",
  "com.neovisionaries"            % "nv-i18n"                % "1.23",
  "com.pauldijou"                 %% "jwt-core"              % "0.16.0",
  "com.softwaremill.sttp"         %% "akka-http-backend"     % "1.2.2",
  "com.softwaremill.sttp"         %% "core"                  % "1.2.2",
  "com.typesafe"                  % "config"                 % "1.3.3",
  "com.typesafe.akka"             %% "akka-actor"            % "2.5.14",
  "com.typesafe.akka"             %% "akka-http-core"        % "10.1.4",
  "com.typesafe.akka"             %% "akka-http-spray-json"  % "10.1.4",
  "com.typesafe.akka"             %% "akka-http-testkit"     % "10.1.4",
  "com.typesafe.akka"             %% "akka-stream"           % "2.5.14",
  "com.typesafe.scala-logging"    %% "scala-logging"         % "3.9.0",
  "com.typesafe.slick"            %% "slick"                 % "3.2.3",
  "eu.timepit"                    %% "refined"               % "0.9.0",
  "io.kamon"                      %% "kamon-akka-2.5"        % "1.0.0",
  "io.kamon"                      %% "kamon-core"            % "1.1.3",
  "io.kamon"                      %% "kamon-statsd"          % "1.0.0",
  "io.kamon"                      %% "kamon-system-metrics"  % "1.0.0",
  "javax.xml.bind"                % "jaxb-api"               % "2.2.8",
  "org.mockito"                   % "mockito-core"           % "1.9.5" % "test",
  "org.scala-lang.modules"        %% "scala-async"           % "0.9.7",
  "org.scalacheck"                %% "scalacheck"            % "1.14.0" % "test",
  "org.scalatest"                 %% "scalatest"             % "3.0.5" % "test",
  "org.scalaz"                    %% "scalaz-core"           % "7.2.24",
  "xyz.driver"                    %% "spray-json-derivation" % "0.6.0",
  "xyz.driver"                    %% "tracing"               % "0.1.2"
)

lazy val `core-util` = project
  .enablePlugins(LibraryPlugin)

lazy val `core-types` = project
  .enablePlugins(LibraryPlugin)
  .dependsOn(`core-util`)

lazy val `core-rest` = project
  .enablePlugins(LibraryPlugin)
  .dependsOn(`core-util`, `core-types`, `core-reporting`)

lazy val `core-reporting` = project
  .enablePlugins(LibraryPlugin)
  .dependsOn(`core-util`)

lazy val `core-storage` = project
  .enablePlugins(LibraryPlugin)
  .dependsOn(`core-reporting`)

lazy val `core-messaging` = project
  .enablePlugins(LibraryPlugin)
  .dependsOn(`core-reporting`)

lazy val `core-database` = project
  .enablePlugins(LibraryPlugin)
  .dependsOn(`core-types`)

lazy val `core-init` = project
  .enablePlugins(LibraryPlugin)
  .dependsOn(`core-reporting`, `core-storage`, `core-messaging`, `core-rest`, `core-database`)

lazy val core = project
  .in(file("."))
  .enablePlugins(LibraryPlugin)
  .dependsOn(
    `core-types`,
    `core-rest`,
    `core-reporting`,
    `core-storage`,
    `core-messaging`,
    `core-database`,
    `core-init`
  )