1
1
val scalaV = ScalaVersions .scala2Version
2
2
val scala3Version = ScalaVersions .scala3Version
3
- ThisBuild / scalaVersion := scalaV
3
+ ThisBuild / scalaVersion := scala3Version
4
4
ThisBuild / version := " 1.0-SNAPSHOT"
5
5
ThisBuild / organization := " com.baeldung"
6
6
ThisBuild / organizationName := " core-scala"
@@ -11,7 +11,7 @@ val catEffectTest = "org.typelevel" %% "cats-effect-testkit" % "3.5.4" % Test
11
11
val scalaReflection = " org.scala-lang" % " scala-reflect" % scalaV
12
12
val logback = " ch.qos.logback" % " logback-classic" % " 1.5.3"
13
13
val embedMongoVersion = " 4.12.2"
14
- val AkkaVersion = " 2.8.0 "
14
+ val AkkaVersion = " 2.8.5 "
15
15
val AkkaHttpVersion = " 10.5.0"
16
16
17
17
val scalaTestDeps = Seq (
@@ -21,7 +21,7 @@ val scalaTestDeps = Seq(
21
21
" org.scalatest" %% " scalatest-flatspec" % " 3.2.18" % Test
22
22
)
23
23
24
- val scalaMock = " org.scalamock" %% " scalamock" % " 5.2.0 " % Test
24
+ val scalaMock = " org.scalamock" %% " scalamock" % " 6.0.0-M2 " % Test
25
25
val zioVersion = " 2.0.21"
26
26
27
27
lazy val scala_core = (project in file(" scala-core-modules/scala-core" ))
@@ -304,9 +304,12 @@ lazy val scala_akka_3 = (project in file("scala-akka-3"))
304
304
name := " scala-akka-3" ,
305
305
Defaults .itSettings,
306
306
libraryDependencies ++= Seq (
307
- " com.typesafe.akka" %% " akka-stream" % " 2.8.5" ,
308
- " com.typesafe.akka" %% " akka-discovery" % " 2.8.5" ,
309
- " com.typesafe.akka" %% " akka-stream-testkit" % " 2.8.5" % Test
307
+ " com.typesafe.akka" %% " akka-stream" % AkkaVersion ,
308
+ " com.typesafe.akka" %% " akka-discovery" % AkkaVersion ,
309
+ " com.typesafe.akka" %% " akka-stream-testkit" % AkkaVersion % Test ,
310
+ akkaActorTyped,
311
+ akkaStreamDep,
312
+ akkaTypedTestkit
310
313
) ++ scalaTestDeps.map(_.withConfigurations(Some (" it,test" )))
311
314
)
312
315
@@ -315,32 +318,52 @@ val slickVersion = "3.5.0"
315
318
val shapelessVersion = " 2.3.10"
316
319
val scalazVersion = " 7.3.8"
317
320
val fs2Version = " 3.10.0"
318
- val reactiveMongo = " 1.0.10 "
321
+ val reactiveMongo = " 1.1.0-RC12 "
319
322
320
- lazy val scala_libraries = (project in file(" scala-libraries" ))
323
+ lazy val scala2_libraries = (project in file(" scala-2-modules/scala2-libraries" ))
324
+ .configs(IntegrationTest )
321
325
.settings(
322
- name := " scala-libraries" ,
323
- libraryDependencies ++= scalaTestDeps,
326
+ name := " scala2-libraries" ,
327
+ scalaVersion := scalaV,
328
+ libraryDependencies ++= scalaTestDeps.map(_.withConfigurations(Some (" it,test" ))),
329
+ resolvers += " Kafka avro serializer" at " https://packages.confluent.io/maven" ,
324
330
libraryDependencies ++= Seq (
325
331
" com.github.julien-truffaut" %% " monocle-core" % monocleVersion,
326
332
" com.github.julien-truffaut" %% " monocle-macro" % monocleVersion,
327
333
" com.github.julien-truffaut" %% " monocle-law" % monocleVersion % " test" ,
328
- " com.typesafe.slick" %% " slick" % slickVersion,
329
- " com.h2database" % " h2" % " 2.2.224" ,
330
334
" com.chuusai" %% " shapeless" % shapelessVersion,
331
- " org.scalaz" %% " scalaz-core" % scalazVersion,
332
- " co.fs2" %% " fs2-core" % fs2Version,
333
- " co.fs2" %% " fs2-io" % fs2Version,
334
335
" junit" % " junit" % " 4.13.2" % Test ,
335
- " org.reactivemongo" %% " reactivemongo" % reactiveMongo,
336
- " org.reactivemongo" %% " reactivemongo-akkastream" % reactiveMongo,
337
- " de.flapdoodle.embed" % " de.flapdoodle.embed.mongo" % embedMongoVersion % Test ,
338
336
logback % Test ,
339
337
akkaActorTyped,
340
338
akkaStreamDep,
341
- catEffectTest,
342
- " org.typelevel" %% " cats-effect-testing-scalatest" % " 1.5.0" % Test
343
- )
339
+ " com.github.cb372" %% " scalacache-core" % " 0.28.0" ,
340
+ " com.github.cb372" %% " scalacache-guava" % " 0.28.0" ,
341
+ " com.github.cb372" %% " scalacache-cats-effect" % " 0.28.0" ,
342
+ " com.github.cb372" %% " scalacache-caffeine" % " 0.28.0" ,
343
+ enumeratumDep,
344
+ " io.monix" %% " monix" % monixVersion,
345
+ pureConfigDep,
346
+ " com.github.pureconfig" %% " pureconfig-enumeratum" % " 0.17.6" ,
347
+ " com.typesafe" % " config" % " 1.4.3" ,
348
+ " org.scala-lang.modules" %% " scala-async" % " 1.0.1" ,
349
+ " com.clever-cloud.pulsar4s" %% " pulsar4s-core" % " 2.9.1" ,
350
+ " com.clever-cloud.pulsar4s" %% " pulsar4s-jackson" % " 2.9.1" ,
351
+ " org.testcontainers" % " pulsar" % " 1.19.7" % IntegrationTest ,
352
+ " org.apache.kafka" % " kafka-clients" % kafkaVersion,
353
+ " com.fasterxml.jackson.core" % " jackson-databind" % jackSonVersion,
354
+ " com.fasterxml.jackson.datatype" % " jackson-datatype-jsr310" % jackSonVersion,
355
+ " com.fasterxml.jackson.module" %% " jackson-module-scala" % jackSonVersion,
356
+ " com.sksamuel.avro4s" %% " avro4s-core" % avro4sVersion,
357
+ " io.confluent" % " kafka-avro-serializer" % kafkaAvroSerializer,
358
+ log4jApiScalaDep,
359
+ " org.apache.logging.log4j" % " log4j-core" % log4jVersion % Runtime
360
+ ),
361
+ libraryDependencies ++= Seq (
362
+ " com.typesafe.slick" %% " slick" % slickVersion,
363
+ " com.h2database" % " h2" % " 2.2.224"
364
+ ),
365
+ scalacOptions += " -Xasync" ,
366
+ Defaults .itSettings
344
367
)
345
368
346
369
val circeVersion = " 0.14.6"
@@ -355,37 +378,35 @@ val enumeratumDep = "com.beachape" %% "enumeratum" % "1.7.3"
355
378
val circeDep = " io.circe" %% " circe-generic" % circeVersion
356
379
val circeParserDep = " io.circe" %% " circe-parser" % circeVersion
357
380
358
- lazy val scala_libraries_2 = (project in file(" scala-libraries-2 " ))
381
+ lazy val scala_libraries = (project in file(" scala-libraries" ))
359
382
.configs(IntegrationTest )
360
383
.settings(
361
384
name := " scala-libraries" ,
385
+ scalaVersion := scala3Version,
362
386
libraryDependencies ++= scalaTestDeps
363
387
.map(_.withConfigurations(Some (" it,test" ))),
364
388
libraryDependencies ++= Seq (
365
389
" io.circe" %% " circe-core" % circeVersion,
366
390
circeDep,
367
391
circeParserDep,
368
- " com.github.cb372" %% " scalacache-core" % " 0.28.0" ,
369
- " com.github.cb372" %% " scalacache-guava" % " 0.28.0" ,
370
- " com.github.cb372" %% " scalacache-cats-effect" % " 0.28.0" ,
371
- " com.github.cb372" %% " scalacache-caffeine" % " 0.28.0" ,
372
- enumeratumDep
392
+ " com.softwaremill.retry" %% " retry" % " 0.3.6" ,
393
+ log4jApiScalaDep,
394
+ " org.apache.logging.log4j" % " log4j-core" % " 2.23.1" % Runtime ,
395
+ " com.typesafe.scala-logging" %% " scala-logging" % " 3.9.5" ,
396
+ " software.amazon.awssdk" % " s3" % " 2.25.9" ,
397
+ " com.github.seratch" %% " awscala" % " 0.9.2"
373
398
),
374
399
libraryDependencies ++= Seq (
375
400
" org.playframework" %% " play-slick" % " 6.1.0" ,
376
401
" org.postgresql" % " postgresql" % " 42.7.3"
377
402
),
378
- libraryDependencies ++= Seq (
379
- " io.monix" %% " monix" % monixVersion
380
- ),
381
403
dependencyOverrides := Seq (
382
404
" com.typesafe.akka" %% " akka-protobuf-v3" % AkkaVersion ,
383
405
akkaStreamDep,
384
406
" com.typesafe.akka" %% " akka-serialization-jackson" % AkkaVersion
385
407
),
386
408
libraryDependencies ++= Seq (
387
409
akkaTypedTestkit,
388
- " org.scalacheck" %% " scalacheck" % " 1.17.0" % Test ,
389
410
" com.lihaoyi" %% " requests" % " 0.8.0"
390
411
),
391
412
libraryDependencies ++= Seq (
@@ -407,29 +428,6 @@ val log4jApiScalaDep =
407
428
408
429
val munitDep = " org.scalameta" %% " munit" % " 0.7.29" % Test
409
430
410
- lazy val scala_libraries_3 = (project in file(" scala-libraries-3" ))
411
- .settings(
412
- name := " scala-libraries" ,
413
- libraryDependencies ++= scalaTestDeps,
414
- libraryDependencies ++= Seq (
415
- " org.http4s" %% " http4s-dsl" % http4sVersion,
416
- " org.http4s" %% " http4s-blaze-server" % http4sBlaze,
417
- " org.http4s" %% " http4s-blaze-client" % http4sBlaze,
418
- enumeratumDep,
419
- pureConfigDep,
420
- " com.github.pureconfig" %% " pureconfig-enumeratum" % " 0.17.6" ,
421
- " com.typesafe" % " config" % " 1.4.3" ,
422
- munitDep
423
- ),
424
- libraryDependencies += scalaMock,
425
- libraryDependencies += " com.softwaremill.retry" %% " retry" % " 0.3.6" ,
426
- libraryDependencies ++= Seq (
427
- log4jApiScalaDep,
428
- " org.apache.logging.log4j" % " log4j-core" % " 2.23.1" % Runtime
429
- ),
430
- libraryDependencies += osLibDep
431
- )
432
-
433
431
lazy val scala_libraries_os = (project in file(" scala-libraries-os" ))
434
432
.settings(
435
433
name := " scala-libraries" ,
@@ -442,42 +440,25 @@ lazy val scala_libraries_os = (project in file("scala-libraries-os"))
442
440
libraryDependencies += osLibDep
443
441
)
444
442
445
- lazy val scala_libraries_4 = (project in file(" scala-libraries-4 " ))
443
+ lazy val redis_intro = (project in file(" scala-libraries-standalone/redis-intro " ))
446
444
.configs(IntegrationTest )
447
445
.settings(
448
- name := " scala-libraries-4" ,
449
- scalaVersion := scalaV,
450
- libraryDependencies += " com.lihaoyi" %% " utest" % " 0.8.2" % " test" ,
451
- testFrameworks += new TestFramework (" utest.runner.Framework" ),
446
+ name := " redis-intro" ,
447
+ scalaVersion := scala3Version,
452
448
libraryDependencies ++= scalaTestDeps
453
449
.map(_.withConfigurations(Some (" it,test" ))),
454
450
libraryDependencies ++= Seq (
455
- " org.scala-lang.modules" %% " scala-async" % " 1.0.1" ,
456
- scalaReflection % Provided ,
457
- " org.tpolecat" %% " skunk-core" % " 0.6.3" ,
458
- logback,
459
- " com.typesafe.scala-logging" %% " scala-logging" % " 3.9.5" ,
460
- " org.typelevel" %% " cats-core" % " 2.10.0"
461
- ),
462
- libraryDependencies ++= Seq (
463
- " com.clever-cloud.pulsar4s" %% " pulsar4s-core" % " 2.9.1" ,
464
- " com.clever-cloud.pulsar4s" %% " pulsar4s-jackson" % " 2.9.1" ,
465
- " org.testcontainers" % " pulsar" % " 1.19.7" % IntegrationTest
466
- ),
467
- libraryDependencies ++= Seq (
468
- " software.amazon.awssdk" % " s3" % " 2.25.15"
451
+ " redis.clients" % " jedis" % " 4.3.1" ,
452
+ " com.fasterxml.jackson.module" %% " jackson-module-scala" % " 2.14.1" ,
453
+ " org.scalatestplus" %% " mockito-3-4" % " 3.2.10.0" % " it"
469
454
),
470
- libraryDependencies ++= Seq (
471
- " com.amazonaws" % " aws-java-sdk-s3" % " 1.12.685" % IntegrationTest ,
472
- " com.dimafeng" %% " testcontainers-scala-scalatest" % " 0.41.3" % IntegrationTest ,
473
- " com.dimafeng" %% " testcontainers-scala-localstack-v2" % " 0.41.3" % IntegrationTest
474
- ),
475
- libraryDependencies ++= Seq (
476
- " com.github.seratch" %% " awscala" % " 0.9.2"
477
- ),
478
- scalacOptions += " -Xasync" ,
479
- Defaults .itSettings,
480
- IntegrationTest / fork := true
455
+ Defaults .itSettings
456
+ )
457
+
458
+ lazy val tapir = (project in file(" scala-libraries-standalone/tapir" ))
459
+ .settings(
460
+ name := " tapir" ,
461
+ scalaVersion := scala3Version
481
462
)
482
463
483
464
val spireVersion = " 0.18.0"
@@ -491,32 +472,76 @@ val kafkaAvroSerializer = "7.6.0"
491
472
492
473
val pureConfigDep = " com.github.pureconfig" %% " pureconfig" % pureconfigVersion
493
474
494
- lazy val scala_libraries_5 = (project in file(" scala-libraries-5 " ))
475
+ lazy val scala_libraries_fp = (project in file(" scala-libraries-fp " ))
495
476
.settings(
496
- name := " scala-libraries-5" ,
497
- resolvers += " Kafka avro serializer" at " https://packages.confluent.io/maven" ,
498
- scalaVersion := scalaV,
477
+ name := " scala-libraries-fp" ,
478
+ scalaVersion := scala3Version,
499
479
libraryDependencies ++= scalaTestDeps,
500
480
libraryDependencies ++= Seq (
481
+ " co.fs2" %% " fs2-core" % fs2Version,
482
+ " co.fs2" %% " fs2-io" % fs2Version,
483
+ " org.typelevel" %% " cats-core" % " 2.10.0" ,
484
+ " org.http4s" %% " http4s-dsl" % http4sVersion,
485
+ " org.http4s" %% " http4s-blaze-server" % http4sBlaze,
486
+ " org.http4s" %% " http4s-blaze-client" % http4sBlaze,
487
+ catEffectTest,
488
+ " org.typelevel" %% " cats-effect-testing-scalatest" % " 1.5.0" % Test ,
489
+ " org.scalaz" %% " scalaz-core" % scalazVersion,
490
+ " junit" % " junit" % " 4.13.2" % Test ,
501
491
" org.typelevel" %% " spire" % spireVersion,
502
- " org.apache.kafka" % " kafka-clients" % kafkaVersion,
503
- pureConfigDep,
504
- " com.fasterxml.jackson.core" % " jackson-databind" % jackSonVersion,
505
- " com.fasterxml.jackson.datatype" % " jackson-datatype-jsr310" % jackSonVersion,
506
- " com.fasterxml.jackson.module" %% " jackson-module-scala" % jackSonVersion,
507
- " com.sksamuel.avro4s" %% " avro4s-core" % avro4sVersion,
508
- " io.confluent" % " kafka-avro-serializer" % kafkaAvroSerializer,
509
- log4jApiScalaDep,
510
- " org.apache.logging.log4j" % " log4j-core" % log4jVersion % Runtime
511
492
)
512
493
)
513
494
514
- lazy val scala_libraries_6 = (project in file(" scala-libraries-6" ))
495
+ lazy val scala_libraries_testing = (project in file(" scala-libraries-testing" ))
496
+ .configs(IntegrationTest )
497
+ .settings(
498
+ name := " scala-libraries-testing" ,
499
+ scalaVersion := scala3Version,
500
+ testFrameworks += new TestFramework (" utest.runner.Framework" ),
501
+ libraryDependencies ++= scalaTestDeps.map(_.withConfigurations(Some (" it,test" ))),
502
+ libraryDependencies ++= Seq (
503
+ " org.scalacheck" %% " scalacheck" % " 1.17.0" % Test ,
504
+ scalaMock,
505
+ " com.lihaoyi" %% " utest" % " 0.8.2" % " test" ,
506
+ munitDep,
507
+ " com.amazonaws" % " aws-java-sdk-s3" % " 1.12.685" % IntegrationTest ,
508
+ " com.dimafeng" %% " testcontainers-scala-scalatest" % " 0.41.3" % IntegrationTest ,
509
+ " com.dimafeng" %% " testcontainers-scala-localstack-v2" % " 0.41.3" % IntegrationTest ,
510
+ " software.amazon.awssdk" % " s3" % " 2.25.15"
511
+ ),
512
+ Defaults .itSettings,
513
+ IntegrationTest / fork := true
514
+ )
515
+
516
+ lazy val scala_libraries_persistence =
517
+ (project in file(" scala-libraries-persistence" ))
518
+ .settings(
519
+ name := " scala-libraries-persistence" ,
520
+ scalaVersion := scala3Version,
521
+ libraryDependencies ++= scalaTestDeps,
522
+ libraryDependencies ++= Seq (
523
+ " com.typesafe.slick" %% " slick" % slickVersion,
524
+ " com.h2database" % " h2" % " 2.2.224" ,
525
+ " org.tpolecat" %% " skunk-core" % " 0.6.3" ,
526
+ doobieCore,
527
+ doobiePGDep,
528
+ " org.reactivemongo" %% " reactivemongo" % reactiveMongo,
529
+ " org.reactivemongo" %% " reactivemongo-akkastream" % reactiveMongo,
530
+ " de.flapdoodle.embed" % " de.flapdoodle.embed.mongo" % embedMongoVersion % Test ,
531
+ logback
532
+ )
533
+ )
534
+
535
+ lazy val scala_libraries_config = (project in file(" scala-libraries-config" ))
515
536
.settings(
516
- name := " scala-libraries-6 " ,
537
+ name := " scala-libraries-config " ,
517
538
scalaVersion := scala3Version,
518
539
libraryDependencies ++= scalaTestDeps,
519
540
libraryDependencies ++= Seq (
541
+ " com.typesafe" % " config" % " 1.4.3" ,
542
+ munitDep,
543
+ " com.github.japgolly.clearconfig" %% " core" % " 3.1.0" ,
544
+ catsEffect,
520
545
" io.circe" %% " circe-yaml" % " 1.15.0" ,
521
546
circeDep,
522
547
circeParserDep
@@ -662,20 +687,6 @@ lazy val reflection = (project in file("reflection"))
662
687
libraryDependencies += " junit" % " junit" % " 4.13.2" % Test
663
688
)
664
689
665
- lazy val scala3_libraries = (project in file(" scala3-libraries" ))
666
- .settings(
667
- scalaVersion := scala3Version,
668
- name := " scala3-libraries" ,
669
- libraryDependencies ++= scalaTestDeps,
670
- libraryDependencies ++= Seq (
671
- " com.github.japgolly.clearconfig" %% " core" % " 3.1.0" ,
672
- munitDep,
673
- doobieCore,
674
- doobiePGDep,
675
- catsEffect
676
- )
677
- )
678
-
679
690
Test / testOptions += Tests .Argument (TestFrameworks .ScalaTest , " -eG" )
680
691
681
692
lazy val scala212 = (project in file(" scala-2-modules/scala212" ))
0 commit comments