1
- import just .semver .SemVer
2
1
import sbtcrossproject .CrossProject
3
2
4
3
ThisBuild / scalaVersion := props.ProjectScalaVersion
@@ -50,11 +49,8 @@ lazy val refined4s = (project in file("."))
50
49
circeJvm,
51
50
circeJs,
52
51
pureconfigJvm,
53
- pureconfigJs,
54
52
doobieCe2Jvm,
55
- doobieCe2Js,
56
53
doobieCe3Jvm,
57
- doobieCe3Js,
58
54
extrasRenderJvm,
59
55
extrasRenderJs,
60
56
refinedCompatScala2Jvm,
@@ -64,24 +60,33 @@ lazy val refined4s = (project in file("."))
64
60
tapirJvm,
65
61
tapirJs,
66
62
chimneyJvm,
67
- chimneyJs,
63
+ // chimneyJs,
68
64
)
69
65
70
66
lazy val core = module(" core" , crossProject(JVMPlatform , JSPlatform ))
71
67
.settings(
68
+ scalacOptions ++= List (" -Xprint-suspension" ),
72
69
libraryDependencies ++= List (
73
- libs.extrasTypeInfo % Test ,
74
- libs.cats % Test ,
75
- )
70
+ libs.extrasTypeInfo.value % Test ,
71
+ libs.cats.value % Test ,
72
+ ),
76
73
)
77
74
lazy val coreJvm = core.jvm
78
- lazy val coreJs = core.js.settings(jsSettingsForFuture)
75
+ lazy val coreJs = core
76
+ .js
77
+ .settings(jsSettingsForFuture)
78
+ .settings(
79
+ libraryDependencies ++= List (
80
+ libs.scalajsJavaSecurerandom.value,
81
+ libs.scalaJavaTime.value,
82
+ )
83
+ )
79
84
80
85
lazy val cats = module(" cats" , crossProject(JVMPlatform , JSPlatform ))
81
86
.settings(
82
87
libraryDependencies ++= List (
83
- libs.cats,
84
- libs.extrasTypeInfo % Test ,
88
+ libs.cats.value ,
89
+ libs.extrasTypeInfo.value % Test ,
85
90
)
86
91
)
87
92
.dependsOn(core % props.IncludeTest )
@@ -91,11 +96,11 @@ lazy val catsJs = cats.js.settings(jsSettingsForFuture)
91
96
lazy val circe = module(" circe" , crossProject(JVMPlatform , JSPlatform ))
92
97
.settings(
93
98
libraryDependencies ++= List (
94
- libs.circeCore,
95
- libs.circeParser % Test ,
96
- libs.circeLiteral % Test ,
97
- libs.extrasTypeInfo % Test ,
98
- libs.extrasHedgehogCirce % Test ,
99
+ libs.circeCore.value ,
100
+ libs.circeParser.value % Test ,
101
+ libs.circeLiteral.value % Test ,
102
+ libs.extrasTypeInfo.value % Test ,
103
+ libs.extrasHedgehogCirce.value % Test ,
99
104
)
100
105
)
101
106
.dependsOn(
@@ -105,25 +110,24 @@ lazy val circe = module("circe", crossProject(JVMPlatform, JSPlatform))
105
110
lazy val circeJvm = circe.jvm
106
111
lazy val circeJs = circe.js.settings(jsSettingsForFuture)
107
112
108
- lazy val pureconfig = module(" pureconfig" , crossProject(JVMPlatform , JSPlatform ))
113
+ lazy val pureconfig = module(" pureconfig" , crossProject(JVMPlatform ))
109
114
.settings(
110
115
libraryDependencies ++= List (
111
116
libs.pureconfigCore,
112
- libs.extrasTypeInfo % Test ,
117
+ libs.extrasTypeInfo.value % Test ,
113
118
)
114
119
)
115
120
.dependsOn(core % props.IncludeTest )
116
121
lazy val pureconfigJvm = pureconfig.jvm
117
- lazy val pureconfigJs = pureconfig.js.settings(jsSettingsForFuture)
118
122
119
- lazy val doobieCe2 = module(" doobie-ce2" , crossProject(JVMPlatform , JSPlatform ))
123
+ lazy val doobieCe2 = module(" doobie-ce2" , crossProject(JVMPlatform ))
120
124
.settings(
121
125
libraryDependencies ++= List (
122
126
libs.doobieCoreCe2,
123
- libs.embeddedPostgres % Test ,
124
- libs.effectieCe2 % Test ,
125
- libs.extrasDoobieToolsCe2 % Test ,
126
- libs.logback % Test ,
127
+ libs.embeddedPostgres % Test ,
128
+ libs.effectieCe2.value % Test ,
129
+ libs.extrasDoobieToolsCe2.value % Test ,
130
+ libs.logback % Test ,
127
131
// libs.kittens % Test,
128
132
)
129
133
)
@@ -132,16 +136,15 @@ lazy val doobieCe2 = module("doobie-ce2", crossProject(JVMPlatform, JSPlatfor
132
136
cats,
133
137
)
134
138
lazy val doobieCe2Jvm = doobieCe2.jvm
135
- lazy val doobieCe2Js = doobieCe2.js.settings(jsSettingsForFuture)
136
139
137
- lazy val doobieCe3 = module(" doobie-ce3" , crossProject(JVMPlatform , JSPlatform ))
140
+ lazy val doobieCe3 = module(" doobie-ce3" , crossProject(JVMPlatform ))
138
141
.settings(
139
142
libraryDependencies ++= List (
140
143
libs.doobieCoreCe3,
141
- libs.embeddedPostgres % Test ,
142
- libs.effectieCe3 % Test ,
143
- libs.extrasDoobieToolsCe3 % Test ,
144
- libs.logback % Test ,
144
+ libs.embeddedPostgres % Test ,
145
+ libs.effectieCe3.value % Test ,
146
+ libs.extrasDoobieToolsCe3.value % Test ,
147
+ libs.logback % Test ,
145
148
// libs.kittens % Test,
146
149
)
147
150
)
@@ -150,12 +153,11 @@ lazy val doobieCe3 = module("doobie-ce3", crossProject(JVMPlatform, JSPlatfor
150
153
cats,
151
154
)
152
155
lazy val doobieCe3Jvm = doobieCe3.jvm
153
- lazy val doobieCe3Js = doobieCe3.js.settings(jsSettingsForFuture)
154
156
155
157
lazy val extrasRender = module(" extras-render" , crossProject(JVMPlatform , JSPlatform ))
156
158
.settings(
157
159
libraryDependencies ++= List (
158
- libs.extrasRender
160
+ libs.extrasRender.value
159
161
)
160
162
)
161
163
.dependsOn(
@@ -164,18 +166,20 @@ lazy val extrasRender = module("extras-render", crossProject(JVMPlatform, JSP
164
166
lazy val extrasRenderJvm = extrasRender.jvm
165
167
lazy val extrasRenderJs = extrasRender.js.settings(jsSettingsForFuture)
166
168
167
- lazy val chimney = module(" chimney" , crossProject(JVMPlatform , JSPlatform ))
169
+ // lazy val chimney = module("chimney", crossProject(JVMPlatform, JSPlatform))
170
+ lazy val chimney = module(" chimney" , crossProject(JVMPlatform ))
168
171
.settings(
169
172
libraryDependencies ++= List (
170
- libs.chimney,
173
+ libs.chimney.value,
174
+ libs.tests.hedgehogExtraCore.value,
171
175
libs.tests.hedgehogExtraRefined4s,
172
176
)
173
177
)
174
178
.dependsOn(
175
179
core % props.IncludeTest
176
180
)
177
181
lazy val chimneyJvm = chimney.jvm
178
- lazy val chimneyJs = chimney.js.settings(jsSettingsForFuture)
182
+ // lazy val chimneyJs = chimney.js.settings(jsSettingsForFuture)
179
183
180
184
lazy val refinedCompatScala2 = module(" refined-compat-scala2" , crossProject(JVMPlatform , JSPlatform ))
181
185
.settings(
@@ -185,7 +189,7 @@ lazy val refinedCompatScala2 = module("refined-compat-scala2", crossProject(J
185
189
if (isScala3(scalaVersion.value))
186
190
List .empty
187
191
else
188
- List (" eu.timepit" %% " refined" % " 0.9.29" )
192
+ List (" eu.timepit" %%% " refined" % " 0.9.29" )
189
193
),
190
194
)
191
195
lazy val refinedCompatScala2Jvm = refinedCompatScala2.jvm
@@ -201,7 +205,7 @@ lazy val refinedCompatScala3Js = refinedCompatScala3.js.settings(jsSettingsForF
201
205
lazy val tapir = module(" tapir" , crossProject(JVMPlatform , JSPlatform ))
202
206
.settings(
203
207
libraryDependencies ++= List (
204
- libs.tapirCore
208
+ libs.tapirCore.value
205
209
)
206
210
)
207
211
.dependsOn(
@@ -226,17 +230,17 @@ lazy val docs = (project in file("docs-gen-tmp/docs"))
226
230
val latestVersion = s " git describe --tags $tag" .!! .trim.stripPrefix(" v" )
227
231
228
232
List (
229
- " io.kevinlee" %% " refined4s-core" % latestVersion,
230
- " io.kevinlee" %% " refined4s-cats" % latestVersion,
231
- " io.kevinlee" %% " refined4s-chimney" % latestVersion,
232
- " io.kevinlee" %% " refined4s-circe" % latestVersion,
233
- " io.kevinlee" %% " refined4s-pureconfig" % latestVersion,
234
- " io.kevinlee" %% " refined4s-doobie-ce2" % latestVersion,
235
- " io.kevinlee" %% " refined4s-extras-render" % latestVersion,
236
- " io.kevinlee" %% " refined4s-tapir" % latestVersion,
237
- libs.circeCore,
238
- libs.circeLiteral,
239
- libs.circeParser,
233
+ " io.kevinlee" %%% " refined4s-core" % latestVersion,
234
+ " io.kevinlee" %%% " refined4s-cats" % latestVersion,
235
+ " io.kevinlee" %%% " refined4s-chimney" % latestVersion,
236
+ " io.kevinlee" %%% " refined4s-circe" % latestVersion,
237
+ " io.kevinlee" %%% " refined4s-pureconfig" % latestVersion,
238
+ " io.kevinlee" %%% " refined4s-doobie-ce2" % latestVersion,
239
+ " io.kevinlee" %%% " refined4s-extras-render" % latestVersion,
240
+ " io.kevinlee" %%% " refined4s-tapir" % latestVersion,
241
+ libs.circeCore.value ,
242
+ libs.circeLiteral.value ,
243
+ libs.circeParser.value ,
240
244
)
241
245
},
242
246
mdocVariables := Map (
@@ -283,7 +287,7 @@ lazy val props =
283
287
val IncludeTest = " compile->compile;test->test"
284
288
285
289
val HedgehogVersion = " 0.10.1"
286
- val HedgehogExtraVersion = " 0.9 .0"
290
+ val HedgehogExtraVersion = " 0.10 .0"
287
291
288
292
val ExtrasVersion = " 0.44.0"
289
293
@@ -307,23 +311,27 @@ lazy val props =
307
311
val TapirVersion = " 1.0.6"
308
312
309
313
val ChimneyVersion = " 1.3.0"
314
+
315
+ val ScalajsJavaSecurerandomVersion = " 1.0.0"
316
+
317
+ val ScalaJavaTimeVersion = " 2.6.0"
310
318
}
311
319
312
320
lazy val libs = new {
313
321
314
- lazy val extrasTypeInfo = " io.kevinlee" %% " extras-type-info" % props.ExtrasVersion
315
- lazy val extrasHedgehogCirce = " io.kevinlee" %% " extras-hedgehog-circe" % props.ExtrasVersion
316
- lazy val extrasDoobieToolsCe2 = " io.kevinlee" %% " extras-doobie-tools-ce2" % props.ExtrasVersion
317
- lazy val extrasDoobieToolsCe3 = " io.kevinlee" %% " extras-doobie-tools-ce3" % props.ExtrasVersion
318
- lazy val extrasRender = " io.kevinlee" %% " extras-render" % props.ExtrasVersion
322
+ lazy val extrasTypeInfo = Def .setting( " io.kevinlee" %%% " extras-type-info" % props.ExtrasVersion )
323
+ lazy val extrasHedgehogCirce = Def .setting( " io.kevinlee" %%% " extras-hedgehog-circe" % props.ExtrasVersion )
324
+ lazy val extrasDoobieToolsCe2 = Def .setting( " io.kevinlee" %%% " extras-doobie-tools-ce2" % props.ExtrasVersion )
325
+ lazy val extrasDoobieToolsCe3 = Def .setting( " io.kevinlee" %%% " extras-doobie-tools-ce3" % props.ExtrasVersion )
326
+ lazy val extrasRender = Def .setting( " io.kevinlee" %%% " extras-render" % props.ExtrasVersion )
319
327
320
- lazy val cats = " org.typelevel" %% " cats-core" % props.CatsVersion
328
+ lazy val cats = Def .setting( " org.typelevel" %%% " cats-core" % props.CatsVersion )
321
329
322
- lazy val kittens = " org.typelevel" %% " kittens" % props.KittensVersion
330
+ lazy val kittens = Def .setting( " org.typelevel" %%% " kittens" % props.KittensVersion )
323
331
324
- lazy val circeCore = " io.circe" %% " circe-core" % props.CirceVersion
325
- lazy val circeParser = " io.circe" %% " circe-parser" % props.CirceVersion
326
- lazy val circeLiteral = " io.circe" %% " circe-literal" % props.CirceVersion
332
+ lazy val circeCore = Def .setting( " io.circe" %%% " circe-core" % props.CirceVersion )
333
+ lazy val circeParser = Def .setting( " io.circe" %%% " circe-parser" % props.CirceVersion )
334
+ lazy val circeLiteral = Def .setting( " io.circe" %%% " circe-literal" % props.CirceVersion )
327
335
328
336
lazy val pureconfigCore = " com.github.pureconfig" %% " pureconfig-core" % props.PureconfigVersion
329
337
lazy val pureconfigGeneric = " com.github.pureconfig" %% " pureconfig-generic" % props.PureconfigVersion
@@ -333,31 +341,33 @@ lazy val libs = new {
333
341
334
342
lazy val embeddedPostgres = " io.zonky.test" % " embedded-postgres" % props.EmbeddedPostgresVersion
335
343
336
- lazy val effectieCore = " io.kevinlee" %% " effectie-core" % props.EffectieVersion
337
- lazy val effectieSyntax = " io.kevinlee" %% " effectie-syntax" % props.EffectieVersion
338
- lazy val effectieCe2 = " io.kevinlee" %% " effectie-cats-effect2" % props.EffectieVersion
339
- lazy val effectieCe3 = " io.kevinlee" %% " effectie-cats-effect3" % props.EffectieVersion
344
+ lazy val effectieCore = Def .setting( " io.kevinlee" %%% " effectie-core" % props.EffectieVersion )
345
+ lazy val effectieSyntax = Def .setting( " io.kevinlee" %%% " effectie-syntax" % props.EffectieVersion )
346
+ lazy val effectieCe2 = Def .setting( " io.kevinlee" %%% " effectie-cats-effect2" % props.EffectieVersion )
347
+ lazy val effectieCe3 = Def .setting( " io.kevinlee" %%% " effectie-cats-effect3" % props.EffectieVersion )
340
348
341
349
lazy val logback = " ch.qos.logback" % " logback-classic" % props.LogbackVersion
342
350
343
- lazy val hedgehogCore = " qa.hedgehog " %% " hedgehog -core" % props.HedgehogVersion
344
- lazy val hedgehogRunner = " qa.hedgehog " %% " hedgehog-runner " % props. HedgehogVersion
345
- lazy val hedgehogSbt = " qa.hedgehog " %% " hedgehog-sbt " % props.HedgehogVersion
351
+ lazy val tapirCore = Def .setting( " com.softwaremill.sttp.tapir " %%% " tapir -core" % props.TapirVersion )
352
+
353
+ lazy val chimney = Def .setting( " io.scalaland " %%% " chimney " % props.ChimneyVersion )
346
354
347
- lazy val tapirCore = " com.softwaremill.sttp.tapir" %% " tapir-core" % props.TapirVersion
355
+ lazy val scalajsJavaSecurerandom =
356
+ Def .setting((" org.scala-js" %%% " scalajs-java-securerandom" % props.ScalajsJavaSecurerandomVersion ).cross(CrossVersion .for3Use2_13))
348
357
349
- lazy val chimney = " io.scalaland " %% " chimney " % props.ChimneyVersion
358
+ lazy val scalaJavaTime = Def .setting( " io.github.cquiroz " %%% " scala-java-time " % props.ScalaJavaTimeVersion )
350
359
351
360
lazy val tests = new {
352
361
353
- lazy val hedgehog : List [ ModuleID ] =
362
+ lazy val hedgehog = Def .setting {
354
363
List (
355
- hedgehogCore ,
356
- hedgehogRunner ,
357
- hedgehogSbt ,
364
+ " qa.hedgehog " %%% " hedgehog-core " % props. HedgehogVersion ,
365
+ " qa.hedgehog " %%% " hedgehog-runner " % props. HedgehogVersion ,
366
+ " qa.hedgehog " %%% " hedgehog-sbt " % props. HedgehogVersion ,
358
367
).map(_ % Test )
368
+ }
359
369
360
- lazy val hedgehogExtraCore = " io.kevinlee" %% " hedgehog-extra-core" % props.HedgehogExtraVersion % Test
370
+ lazy val hedgehogExtraCore = Def .setting( " io.kevinlee" %%% " hedgehog-extra-core" % props.HedgehogExtraVersion % Test )
361
371
362
372
lazy val hedgehogExtraRefined4s = " io.kevinlee" %% " hedgehog-extra-refined4s" % props.HedgehogExtraVersion % Test
363
373
}
@@ -393,7 +403,7 @@ def module(projectName: String, crossProject: CrossProject.Builder): CrossProjec
393
403
),
394
404
scalacOptions ++= (if (isScala3(scalaVersion.value)) List (" -no-indent" ) else List (" -Xsource:3" )),
395
405
// scalacOptions ~= (ops => ops.filter(_ != "UTF-8")),
396
- libraryDependencies ++= libs.tests.hedgehog ++ List (libs.tests.hedgehogExtraCore),
406
+ libraryDependencies ++= libs.tests.hedgehog.value ++ List (libs.tests.hedgehogExtraCore.value ),
397
407
wartremoverErrors ++= Warts .allBut(Wart .Any , Wart .Nothing , Wart .ImplicitConversion , Wart .ImplicitParameter ),
398
408
Compile / console / scalacOptions :=
399
409
(console / scalacOptions)
@@ -433,4 +443,5 @@ lazy val jsSettingsForFuture: SettingsDefinition = List(
433
443
else List (" -P:scalajs:nowarnGlobalExecutionContext" )),
434
444
Test / compile / scalacOptions ++= (if (scalaVersion.value.startsWith(" 3" )) List .empty
435
445
else List (" -P:scalajs:nowarnGlobalExecutionContext" )),
446
+ coverageEnabled := false ,
436
447
)
0 commit comments