-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
68 lines (63 loc) · 2.27 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
val scala212 = "2.12.13"
val scala213 = "2.13.4"
val supportedScalaVersions = List(scala212, scala213)
crossScalaVersions := supportedScalaVersions
publishArtifact := false
publish := {}
publishLocal := {}
lazy val commonSettings = Seq(
name := "play-json-mapping",
organization := "null-vector",
version := "1.1.2",
scalaVersion := scala213,
crossScalaVersions := supportedScalaVersions,
scalacOptions := Seq(
"-encoding", "UTF-8", "-target:jvm-1.8", "-deprecation",
"-language:experimental.macros",
// "-Ymacro-annotations",
"-feature",
"-unchecked",
"-language:implicitConversions",
"-language:postfixOps"
),
libraryDependencies += "com.typesafe.play" %% "play-json" % "2.8.1",
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.3",
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value,
libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.1" % Test,
licenses += ("MIT", url("https://opensource.org/licenses/MIT")),
coverageExcludedPackages := "<empty>",
Test / fork := true,
Test / javaOptions += "-Xmx4G",
Test / javaOptions += "-XX:+CMSClassUnloadingEnabled",
Test / javaOptions += "-XX:+UseConcMarkSweepGC",
Test / javaOptions += "-Dfile.encoding=UTF-8",
)
lazy val core = (project in file("core"))
.dependsOn(
macros % "compile-internal, test-internal",
api)
.settings(
commonSettings,
publishTo := Some("nullvector" at "https://nullvector.jfrog.io/artifactory/releases"),
credentials += Credentials(Path.userHome / ".jfrog" / "credentials"),
Compile / packageDoc / publishArtifact := false,
Compile / packageBin / mappings ++= (macros / Compile / packageBin / mappings).value,
Compile / packageSrc / mappings ++= (macros / Compile / packageSrc / mappings).value,
Compile / packageBin / mappings ++= (api / Compile / packageBin / mappings).value,
Compile / packageSrc / mappings ++= (api / Compile / packageSrc / mappings).value,
)
lazy val macros = (project in file("macros"))
.dependsOn(api)
.settings(
commonSettings,
publishArtifact := false,
publish := {},
publishLocal := {}
)
lazy val api = (project in file("api"))
.settings(
commonSettings,
publishArtifact := false,
publish := {},
publishLocal := {}
)