aboutsummaryrefslogblamecommitdiff
path: root/build.sbt
blob: 5bdccc219a14886f6609d3ef7cb63a61c05c1ef7 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                                                      





                                                                                             









                                                                                               


                                                                             
                                            






















                                                                              
import sbt._
import Keys._


lazy val wartRemoverSettings = Seq(
  wartremoverErrors in (Compile, compile) ++= Warts.allBut(
    Wart.AsInstanceOf, Wart.Nothing, Wart.Option2Iterable, Wart.ExplicitImplicitTypes,
    Wart.Overloading, Wart.DefaultArguments, Wart.ToString, Wart.Any, Wart.Throw)
)

lazy val scalafmtSettings = Seq(
  scalafmtConfig in ThisBuild := Some(file(".scalafmt")),
  testExecution in (Test, test) <<=
    (testExecution in (Test, test)) dependsOn (scalafmtTest in Compile, scalafmtTest in Test)
)

lazy val compileScalastyle = taskKey[Unit]("compileScalastyle")

lazy val buildSettings = Defaults.coreDefaultSettings ++ Seq (
  organization := "com.drivergrp",
  name         := "core",
  version      := "0.0.1",
  scalaVersion := "2.11.8",
  scalacOptions := Seq("-unchecked", "-deprecation", "-feature", "-Xlint", "-encoding", "utf8",
    "-language:higherKinds", "-language:implicitConversions", "-language:postfixOps",
    "-Ywarn-infer-any", "-Ywarn-unused", "-Ywarn-unused-import"),
  fork in run := true,
  compileScalastyle := (scalastyle in Compile).toTask("").value,
  (compile in Compile) <<= ((compile in Compile) dependsOn compileScalastyle)
) ++ wartRemoverSettings ++ scalafmtSettings

lazy val akkaHttpV = "2.4.8"

lazy val core = (project in file(".")).
  settings(buildSettings: _*).
  settings(
    libraryDependencies ++= Seq(
      "com.typesafe.akka"  %% "akka-http-core" % akkaHttpV,
      "com.typesafe.akka"  %% "akka-http-experimental" % akkaHttpV,
      "com.typesafe.akka"  %% "akka-http-jackson-experimental" % akkaHttpV,
      "com.typesafe.akka"  %% "akka-http-spray-json-experimental" % akkaHttpV,
      "com.typesafe.akka"  %% "akka-http-testkit" % akkaHttpV,
      "org.scalatest"      %  "scalatest_2.11" % "2.2.1" % "test",
      "org.mockito"          % "mockito-core" % "1.9.5" % "test",
      "com.typesafe.slick" %% "slick"  % "3.1.1",
      "com.typesafe"       %  "config" % "1.2.1",
      "com.typesafe.scala-logging" %% "scala-logging" % "3.1.0",
      "ch.qos.logback"     % "logback-classic" % "1.1.3",
      "org.slf4j"          % "slf4j-nop"    % "1.6.4",
      "org.scalaz"         %% "scalaz-core" % "7.2.4",
      "com.github.swagger-akka-http" %% "swagger-akka-http" % "0.7.1",
      "com.lihaoyi" %% "acyclic" % "0.1.4" % "provided"
    ))