-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
86 lines (67 loc) · 3.16 KB
/
build.sbt
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
import sbt.ThisBuild
inThisBuild(List(
organization := "io.sumislawski.swaggerify",
homepage := Some(url("https://github.com/RafalSumislawski/swaggerify")),
licenses := List("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")),
developers := List(
Developer(
"RafalSumislawski",
"Rafał Sumisławski",
"rafal.sumislawski@gmail.com",
url("https://github.com/RafalSumislawski")
)
),
))
sonatypeCredentialHost := "s01.oss.sonatype.org"
sonatypeRepository := "https://s01.oss.sonatype.org/service/local"
sonatypeProfileName := "io.sumislawski"
name := "swaggerify"
val scala212 = "2.12.15"
val scala213 = "2.13.7"
val sVersion = scala213
scalaVersion := sVersion
crossScalaVersions := List(scala212, scala213)
val magnolia = "com.propensive" %% "magnolia" % "0.17.0"
val swaggerVersion = "1.6.3"
val swaggerModels = "io.swagger" % "swagger-models" % swaggerVersion
val swaggerCore = "io.swagger" % "swagger-core" % swaggerVersion
val swaggerValidator = ("io.swagger" % "swagger-validator" % "1.0.7").excludeAll(ExclusionRule("ch.qos.logback"),
ExclusionRule("org.eclipse.jetty"), ExclusionRule("org.glassfish"), ExclusionRule("org.glassfish.hk2"),
ExclusionRule("org.glassfish.hk2.external"), ExclusionRule("org.glassfish.jersey.bundlers"),
ExclusionRule("org.glassfish.jersey.containers"), ExclusionRule("org.glassfish.jersey.core"), ExclusionRule("org.glassfish.jersey.media"))
val commonsIo = "commons-io" % "commons-io" % "2.11.0"
val collectionCompat = "org.scala-lang.modules" %% "scala-collection-compat" % "2.6.0"
val scalaLogging = "com.typesafe.scala-logging" %% "scala-logging" % "3.9.4"
val log4jApi = "org.apache.logging.log4j" % "log4j-api" % "2.14.1"
val log4jSlf4j = "org.apache.logging.log4j" % "log4j-slf4j-impl" % "2.14.1"
val slf4j = "org.slf4j" % "slf4j-api" % "1.7.32"
val lmaxDisruptor = "com.lmax" % "disruptor" % "3.4.4"
val allLogging = Seq(slf4j, log4jApi, log4jSlf4j, lmaxDisruptor, scalaLogging)
val circeVersion = "0.14.1"
val circeGeneric = "io.circe" %% "circe-generic" % circeVersion
val circeParser = "io.circe" %% "circe-parser" % circeVersion
val circeYaml = "io.circe" %% "circe-yaml" % circeVersion
val allCirce = Seq(circeGeneric, circeParser, circeYaml)
val specs2Version = "4.13.1"
val specsCore = "org.specs2" %% "specs2-core" % specs2Version
val specsScalaCheck = "org.specs2" %% "specs2-scalacheck" % specs2Version
val allSpecs = Seq(specsCore, specsScalaCheck)
libraryDependencies ++= Seq(magnolia, swaggerModels, swaggerCore, collectionCompat) ++
Seq("org.scala-lang" % "scala-reflect" % scalaVersion.value) ++
(Seq(swaggerValidator, commonsIo) ++ allLogging ++ allCirce ++ allSpecs).map(_ % Test)
scalacOptions ++= Seq(
"-target:jvm-1.8",
"-encoding", "UTF-8",
"-unchecked",
"-deprecation",
"-Ywarn-unused",
"-Xfatal-warnings",
"-language:higherKinds"
) ++ (CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 12)) => Seq("-Ypartial-unification", "-Xfuture")
case Some((2, 13)) => Seq.empty
case _ => Seq.empty
})
addCompilerPlugin("org.typelevel" % "kind-projector" % "0.13.2" cross CrossVersion.full)
cancelable in Global := true
aggregate in update := false