-
Notifications
You must be signed in to change notification settings - Fork 50
/
build.sbt
92 lines (82 loc) · 3.51 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
87
88
89
90
91
92
ThisBuild / tlBaseVersion := "0.16"
ThisBuild / circeRootOfCodeCoverage := None
ThisBuild / startYear := Some(2016)
ThisBuild / tlFatalWarnings := false //TODO: ... fix this someday
ThisBuild / githubWorkflowBuildMatrixFailFast := Some(false)
val Versions = new {
val circe = "0.14.9"
val discipline = "1.7.0"
val scalaCheck = "1.18.0"
val scalaTest = "3.2.18"
val scalaTestPlus = "3.2.18.0"
val snakeYaml = "2.2"
val snakeYamlEngine = "2.7"
val previousCirceYamls = Set("0.14.0", "0.14.1", "0.14.2")
val scala213 = "2.13.14"
val scala3 = "3.3.3"
val scalaVersions = Seq(scala213, scala3)
}
ThisBuild / scalaVersion := Versions.scala213
ThisBuild / crossScalaVersions := Versions.scalaVersions
val root = tlCrossRootProject.aggregate(
`circe-yaml-common`,
`circe-yaml`,
`circe-yaml-v12`,
`circe-yaml-scalayaml`
)
lazy val `circe-yaml-common` = crossProject(JSPlatform, JVMPlatform, NativePlatform)
.in(file("circe-yaml-common"))
.settings(
description := "Common interface for circe-yaml.",
libraryDependencies ++= Seq(
"io.circe" %%% "circe-core" % Versions.circe
),
tlVersionIntroduced := List("2.13", "3").map(_ -> "0.15.3").toMap
)
lazy val `circe-yaml` = project
.in(file("circe-yaml"))
.dependsOn(`circe-yaml-common`.jvm)
.settings(
description := "Library for converting between SnakeYAML's AST (YAML 1.1) and circe's AST",
libraryDependencies ++= Seq(
"org.yaml" % "snakeyaml" % Versions.snakeYaml,
"io.circe" %% "circe-jawn" % Versions.circe % Test,
"io.circe" %% "circe-testing" % Versions.circe % Test,
"org.typelevel" %% "discipline-core" % Versions.discipline % Test,
"org.scalacheck" %% "scalacheck" % Versions.scalaCheck % Test,
"org.scalatest" %% "scalatest" % Versions.scalaTest % Test,
"org.scalatestplus" %% "scalacheck-1-17" % Versions.scalaTestPlus % Test
),
tlVersionIntroduced := List("2.13", "3").map(_ -> "0.14.3").toMap
)
lazy val `circe-yaml-v12` = project
.in(file("circe-yaml-v12"))
.dependsOn(`circe-yaml-common`.jvm)
.settings(
description := "Library for converting between snakeyaml-engine's AST (YAML 1.2) and circe's AST",
libraryDependencies ++= Seq(
"io.circe" %% "circe-jawn" % Versions.circe % Test,
"org.snakeyaml" % "snakeyaml-engine" % Versions.snakeYamlEngine,
"io.circe" %% "circe-testing" % Versions.circe % Test,
"org.typelevel" %% "discipline-core" % Versions.discipline % Test,
"org.scalacheck" %% "scalacheck" % Versions.scalaCheck % Test,
"org.scalatest" %% "scalatest" % Versions.scalaTest % Test,
"org.scalatestplus" %% "scalacheck-1-17" % Versions.scalaTestPlus % Test
),
tlVersionIntroduced := List("2.13", "3").map(_ -> "0.14.3").toMap
)
lazy val `circe-yaml-scalayaml` = crossProject(JSPlatform, JVMPlatform, NativePlatform)
.dependsOn(`circe-yaml-common`)
.settings(
description := "Library for converting between scala-yaml AST and circe's AST",
libraryDependencies ++= Seq(
"org.virtuslab" %%% "scala-yaml" % "0.3.0",
"org.scalatest" %%% "scalatest" % Versions.scalaTest % Test
),
tlVersionIntroduced := List("2.13", "3").map(_ -> "0.15.3").toMap
)
ThisBuild / developers := List(
Developer("jeremyrsmith", "Jeremy Smith", "[email protected]", url("https://github.com/jeremyrsmith")),
Developer("jeffmay", "Jeff May", "[email protected]", url("https://github.com/jeffmay")),
Developer("travisbrown", "Travis Brown", "[email protected]", url("https://twitter.com/travisbrown"))
)