11import 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
912name := " 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
1731ThisBuild / javacOptions ++= Seq (" -source" , " 1.8" , " -target" , " 1.8" )
1832
@@ -24,35 +38,54 @@ ThisBuild / resolvers ++= Seq(
2438
2539ThisBuild / 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
3044ThisBuild / 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+
3252Test / parallelExecution := false
3353
3454lazy val common = project.in(file(" common" ))
3555 .configs(IntegrationTest )
36- .settings(Defaults .itSettings)
56+ .settings(
57+ Defaults .itSettings,
58+ moduleSettings
59+ )
3760
3861lazy 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
4571lazy 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
5383lazy 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
6396lazy 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
71107lazy 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
81120lazy 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
89131lazy 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
96141lazy 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
106154lazy 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
113164lazy 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
123177lazy 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
130187lazy 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
163200lazy 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
196238Test / envVars := Map (
197239 " POSTGRES_USER" -> " admin" ,
0 commit comments