Skip to content

Commit 1863107

Browse files
committed
init support for scala 2.13
1 parent 847feaf commit 1863107

File tree

64 files changed

+802
-5845
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+802
-5845
lines changed

build.sbt

Lines changed: 86 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import app.softnetwork.*
22

3+
lazy val scala212 = "2.12.20"
4+
lazy val scala213 = "2.13.16"
5+
36
/////////////////////////////////
47
// Defaults
58
/////////////////////////////////
@@ -8,11 +11,22 @@ ThisBuild / organization := "app.softnetwork"
811

912
name := "generic-persistence-api"
1013

11-
ThisBuild / version := "0.7.3"
14+
ThisBuild / version := "0.8-SNAPSHOT"
15+
16+
lazy val moduleSettings = Seq(
17+
crossScalaVersions := Seq(scala212, scala213),
18+
scalacOptions ++= {
19+
CrossVersion.partialVersion(scalaVersion.value) match {
20+
case Some((2, 12)) => Seq("-deprecation", "-feature", "-target:jvm-1.8", "-Ypartial-unification")
21+
case Some((2, 13)) => Seq("-deprecation", "-feature", "-target:jvm-1.8")
22+
case _ => Seq.empty
23+
}
24+
}
25+
)
1226

13-
ThisBuild / scalaVersion := "2.12.18"
27+
ThisBuild / scalaVersion := scala212
1428

15-
ThisBuild / scalacOptions ++= Seq("-deprecation", "-feature", "-target:jvm-1.8", "-Ypartial-unification")
29+
//ThisBuild / versionScheme := Some("early-semver")
1630

1731
ThisBuild / javacOptions ++= Seq("-source", "1.8", "-target", "1.8")
1832

@@ -24,35 +38,54 @@ ThisBuild / resolvers ++= Seq(
2438

2539
ThisBuild / libraryDependencies ++= Seq(
2640
"com.thesamet.scalapb" %% "scalapb-runtime" % scalapb.compiler.Version.scalapbVersion % "protobuf",
27-
"org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.1"
41+
"org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"
2842
)
2943

3044
ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always
3145

46+
ThisBuild / dependencyOverrides ++= Seq(
47+
"com.github.jnr" % "jnr-ffi" % "2.2.17",
48+
"com.github.jnr" % "jffi" % "1.3.13" classifier "native",
49+
"org.lmdbjava" % "lmdbjava" % "0.9.1" exclude("org.slf4j", "slf4j-api"),
50+
)
51+
3252
Test / parallelExecution := false
3353

3454
lazy val common = project.in(file("common"))
3555
.configs(IntegrationTest)
36-
.settings(Defaults.itSettings)
56+
.settings(
57+
Defaults.itSettings,
58+
moduleSettings
59+
)
3760

3861
lazy val commonTestkit = project.in(file("common/testkit"))
3962
.configs(IntegrationTest)
40-
.settings(Defaults.itSettings)
63+
.settings(
64+
Defaults.itSettings,
65+
moduleSettings
66+
)
4167
.dependsOn(
4268
common % "compile->compile;test->test;it->it"
4369
)
4470

4571
lazy val core = project.in(file("core"))
4672
.configs(IntegrationTest)
4773
.enablePlugins(BuildInfoPlugin)
48-
.settings(Defaults.itSettings, app.softnetwork.Info.infoSettings)
74+
.settings(
75+
Defaults.itSettings,
76+
app.softnetwork.Info.infoSettings,
77+
moduleSettings
78+
)
4979
.dependsOn(
5080
common % "compile->compile;test->test;it->it"
5181
)
5282

5383
lazy val coreTestkit = project.in(file("core/testkit"))
5484
.configs(IntegrationTest)
55-
.settings(Defaults.itSettings)
85+
.settings(
86+
Defaults.itSettings,
87+
moduleSettings
88+
)
5689
.dependsOn(
5790
core % "compile->compile;test->test;it->it"
5891
)
@@ -62,15 +95,21 @@ lazy val coreTestkit = project.in(file("core/testkit"))
6295

6396
lazy val server = project.in(file("server"))
6497
.configs(IntegrationTest)
65-
.settings(Defaults.itSettings)
98+
.settings(
99+
Defaults.itSettings,
100+
moduleSettings
101+
)
66102
.enablePlugins(AkkaGrpcPlugin)
67103
.dependsOn(
68104
core % "compile->compile;test->test;it->it"
69105
)
70106

71107
lazy val serverTestkit = project.in(file("server/testkit"))
72108
.configs(IntegrationTest)
73-
.settings(Defaults.itSettings)
109+
.settings(
110+
Defaults.itSettings,
111+
moduleSettings
112+
)
74113
.dependsOn(
75114
server % "compile->compile;test->test;it->it"
76115
)
@@ -80,22 +119,31 @@ lazy val serverTestkit = project.in(file("server/testkit"))
80119

81120
lazy val sessionCommon = project.in(file("session/common"))
82121
.configs(IntegrationTest)
83-
.settings(Defaults.itSettings)
122+
.settings(
123+
Defaults.itSettings,
124+
moduleSettings
125+
)
84126
.enablePlugins(AkkaGrpcPlugin)
85127
.dependsOn(
86128
server % "compile->compile;test->test;it->it"
87129
)
88130

89131
lazy val sessionCore = project.in(file("session/core"))
90132
.configs(IntegrationTest)
91-
.settings(Defaults.itSettings)
133+
.settings(
134+
Defaults.itSettings,
135+
moduleSettings
136+
)
92137
.dependsOn(
93138
sessionCommon % "compile->compile;test->test;it->it"
94139
)
95140

96141
lazy val sessionTestkit = project.in(file("session/testkit"))
97142
.configs(IntegrationTest)
98-
.settings(Defaults.itSettings)
143+
.settings(
144+
Defaults.itSettings,
145+
moduleSettings
146+
)
99147
.dependsOn(
100148
sessionCore % "compile->compile;test->test;it->it"
101149
)
@@ -105,14 +153,20 @@ lazy val sessionTestkit = project.in(file("session/testkit"))
105153

106154
lazy val jdbc = project.in(file("jdbc"))
107155
.configs(IntegrationTest)
108-
.settings(Defaults.itSettings)
156+
.settings(
157+
Defaults.itSettings,
158+
moduleSettings
159+
)
109160
.dependsOn(
110161
core % "compile->compile;test->test;it->it"
111162
)
112163

113164
lazy val jdbcTestkit = project.in(file("jdbc/testkit"))
114165
.configs(IntegrationTest)
115-
.settings(Defaults.itSettings)
166+
.settings(
167+
Defaults.itSettings,
168+
moduleSettings
169+
)
116170
.dependsOn(
117171
jdbc % "compile->compile;test->test;it->it"
118172
)
@@ -122,47 +176,33 @@ lazy val jdbcTestkit = project.in(file("jdbc/testkit"))
122176

123177
lazy val cassandra = project.in(file("cassandra"))
124178
.configs(IntegrationTest)
125-
.settings(Defaults.itSettings)
179+
.settings(
180+
Defaults.itSettings,
181+
moduleSettings
182+
)
126183
.dependsOn(
127184
core % "compile->compile;test->test;it->it"
128185
)
129186

130187
lazy val counter = project.in(file("counter"))
131188
.configs(IntegrationTest)
132-
.settings(Defaults.itSettings)
133-
.dependsOn(
134-
core % "compile->compile;test->test;it->it"
189+
.settings(
190+
Defaults.itSettings,
191+
moduleSettings
135192
)
136-
.dependsOn(
137-
coreTestkit % "test->test;it->it"
138-
)
139-
140-
lazy val elastic = project.in(file("elastic"))
141-
.configs(IntegrationTest)
142-
.settings(Defaults.itSettings)
143193
.dependsOn(
144194
core % "compile->compile;test->test;it->it"
145195
)
146-
147-
lazy val elasticTestkit = project.in(file("elastic/testkit"))
148-
.configs(IntegrationTest)
149-
.settings(Defaults.itSettings)
150-
.dependsOn(
151-
elastic % "compile->compile;test->test;it->it"
152-
)
153196
.dependsOn(
154-
commonTestkit % "compile->compile;test->test;it->it"
155-
)
156-
.dependsOn(
157-
coreTestkit % "compile->compile;test->test;it->it"
158-
)
159-
.dependsOn(
160-
jdbcTestkit % "compile->compile;test->test;it->it"
197+
coreTestkit % "test->test;it->it"
161198
)
162199

163200
lazy val kv = project.in(file("kv"))
164201
.configs(IntegrationTest)
165-
.settings(Defaults.itSettings)
202+
.settings(
203+
Defaults.itSettings,
204+
moduleSettings
205+
)
166206
.enablePlugins(AkkaGrpcPlugin)
167207
.dependsOn(
168208
core % "compile->compile;test->test;it->it"
@@ -181,8 +221,6 @@ lazy val root = project.in(file("."))
181221
jdbcTestkit,
182222
// cassandra,
183223
counter,
184-
elastic,
185-
elasticTestkit,
186224
kv,
187225
server,
188226
serverTestkit,
@@ -191,7 +229,11 @@ lazy val root = project.in(file("."))
191229
sessionTestkit
192230
)
193231
.configs(IntegrationTest)
194-
.settings(Defaults.itSettings, Publish.noPublishSettings)
232+
.settings(
233+
Defaults.itSettings,
234+
Publish.noPublishSettings,
235+
crossScalaVersions := Nil
236+
)
195237

196238
Test / envVars := Map(
197239
"POSTGRES_USER" -> "admin",

common/build.sbt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,22 @@ val configDependencies = Seq(
1010
)
1111

1212
val jackson = Seq(
13-
"com.fasterxml.jackson.core" % "jackson-databind" % Versions.jackson,
14-
"com.fasterxml.jackson.core" % "jackson-core" % Versions.jackson,
15-
"com.fasterxml.jackson.core" % "jackson-annotations" % Versions.jackson,
16-
"com.fasterxml.jackson.module" % "jackson-module-scala_2.12" % Versions.jackson
13+
"com.fasterxml.jackson.core" % "jackson-databind" % Versions.jackson,
14+
"com.fasterxml.jackson.core" % "jackson-core" % Versions.jackson,
15+
"com.fasterxml.jackson.core" % "jackson-annotations" % Versions.jackson,
16+
"com.fasterxml.jackson.dataformat" % "jackson-dataformat-cbor" % Versions.jackson,
17+
"com.fasterxml.jackson.dataformat" % "jackson-dataformat-yaml" % Versions.jackson,
18+
"com.fasterxml.jackson.datatype" % "jackson-datatype-jdk8" % Versions.jackson,
19+
"com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % Versions.jackson,
20+
"com.fasterxml.jackson.module" % "jackson-module-parameter-names" % Versions.jackson,
21+
"com.fasterxml.jackson.module" %% "jackson-module-scala" % Versions.jackson,
1722
)
1823

1924
val jacksonExclusions = Seq(
2025
ExclusionRule(organization = "com.fasterxml.jackson.core"),
26+
ExclusionRule(organization = "com.fasterxml.jackson.dataformat"),
27+
ExclusionRule(organization = "com.fasterxml.jackson.datatype"),
28+
ExclusionRule(organization = "com.fasterxml.jackson.module"),
2129
ExclusionRule(organization = "org.codehaus.jackson")
2230
)
2331

0 commit comments

Comments
 (0)