Skip to content

Commit ec60e69

Browse files
authored
Merge pull request #1243 from yadavan88/scala-libraries-refactor
Scala-libraries modules refactor
2 parents 857aca9 + e3490aa commit ec60e69

File tree

242 files changed

+659
-296
lines changed

Some content is hidden

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

242 files changed

+659
-296
lines changed

build.sbt

Lines changed: 124 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
val scalaV = ScalaVersions.scala2Version
22
val scala3Version = ScalaVersions.scala3Version
3-
ThisBuild / scalaVersion := scalaV
3+
ThisBuild / scalaVersion := scala3Version
44
ThisBuild / version := "1.0-SNAPSHOT"
55
ThisBuild / organization := "com.baeldung"
66
ThisBuild / organizationName := "core-scala"
@@ -11,7 +11,7 @@ val catEffectTest = "org.typelevel" %% "cats-effect-testkit" % "3.5.4" % Test
1111
val scalaReflection = "org.scala-lang" % "scala-reflect" % scalaV
1212
val logback = "ch.qos.logback" % "logback-classic" % "1.5.3"
1313
val embedMongoVersion = "4.12.2"
14-
val AkkaVersion = "2.8.0"
14+
val AkkaVersion = "2.8.5"
1515
val AkkaHttpVersion = "10.5.0"
1616

1717
val scalaTestDeps = Seq(
@@ -21,7 +21,7 @@ val scalaTestDeps = Seq(
2121
"org.scalatest" %% "scalatest-flatspec" % "3.2.18" % Test
2222
)
2323

24-
val scalaMock = "org.scalamock" %% "scalamock" % "5.2.0" % Test
24+
val scalaMock = "org.scalamock" %% "scalamock" % "6.0.0-M2" % Test
2525
val zioVersion = "2.0.21"
2626

2727
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"))
304304
name := "scala-akka-3",
305305
Defaults.itSettings,
306306
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
310313
) ++ scalaTestDeps.map(_.withConfigurations(Some("it,test")))
311314
)
312315

@@ -315,32 +318,52 @@ val slickVersion = "3.5.0"
315318
val shapelessVersion = "2.3.10"
316319
val scalazVersion = "7.3.8"
317320
val fs2Version = "3.10.0"
318-
val reactiveMongo = "1.0.10"
321+
val reactiveMongo = "1.1.0-RC12"
319322

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)
321325
.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",
324330
libraryDependencies ++= Seq(
325331
"com.github.julien-truffaut" %% "monocle-core" % monocleVersion,
326332
"com.github.julien-truffaut" %% "monocle-macro" % monocleVersion,
327333
"com.github.julien-truffaut" %% "monocle-law" % monocleVersion % "test",
328-
"com.typesafe.slick" %% "slick" % slickVersion,
329-
"com.h2database" % "h2" % "2.2.224",
330334
"com.chuusai" %% "shapeless" % shapelessVersion,
331-
"org.scalaz" %% "scalaz-core" % scalazVersion,
332-
"co.fs2" %% "fs2-core" % fs2Version,
333-
"co.fs2" %% "fs2-io" % fs2Version,
334335
"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,
338336
logback % Test,
339337
akkaActorTyped,
340338
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
344367
)
345368

346369
val circeVersion = "0.14.6"
@@ -355,37 +378,35 @@ val enumeratumDep = "com.beachape" %% "enumeratum" % "1.7.3"
355378
val circeDep = "io.circe" %% "circe-generic" % circeVersion
356379
val circeParserDep = "io.circe" %% "circe-parser" % circeVersion
357380

358-
lazy val scala_libraries_2 = (project in file("scala-libraries-2"))
381+
lazy val scala_libraries = (project in file("scala-libraries"))
359382
.configs(IntegrationTest)
360383
.settings(
361384
name := "scala-libraries",
385+
scalaVersion := scala3Version,
362386
libraryDependencies ++= scalaTestDeps
363387
.map(_.withConfigurations(Some("it,test"))),
364388
libraryDependencies ++= Seq(
365389
"io.circe" %% "circe-core" % circeVersion,
366390
circeDep,
367391
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"
373398
),
374399
libraryDependencies ++= Seq(
375400
"org.playframework" %% "play-slick" % "6.1.0",
376401
"org.postgresql" % "postgresql" % "42.7.3"
377402
),
378-
libraryDependencies ++= Seq(
379-
"io.monix" %% "monix" % monixVersion
380-
),
381403
dependencyOverrides := Seq(
382404
"com.typesafe.akka" %% "akka-protobuf-v3" % AkkaVersion,
383405
akkaStreamDep,
384406
"com.typesafe.akka" %% "akka-serialization-jackson" % AkkaVersion
385407
),
386408
libraryDependencies ++= Seq(
387409
akkaTypedTestkit,
388-
"org.scalacheck" %% "scalacheck" % "1.17.0" % Test,
389410
"com.lihaoyi" %% "requests" % "0.8.0"
390411
),
391412
libraryDependencies ++= Seq(
@@ -407,29 +428,6 @@ val log4jApiScalaDep =
407428

408429
val munitDep = "org.scalameta" %% "munit" % "0.7.29" % Test
409430

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-
433431
lazy val scala_libraries_os = (project in file("scala-libraries-os"))
434432
.settings(
435433
name := "scala-libraries",
@@ -442,42 +440,25 @@ lazy val scala_libraries_os = (project in file("scala-libraries-os"))
442440
libraryDependencies += osLibDep
443441
)
444442

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"))
446444
.configs(IntegrationTest)
447445
.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,
452448
libraryDependencies ++= scalaTestDeps
453449
.map(_.withConfigurations(Some("it,test"))),
454450
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"
469454
),
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
481462
)
482463

483464
val spireVersion = "0.18.0"
@@ -491,32 +472,76 @@ val kafkaAvroSerializer = "7.6.0"
491472

492473
val pureConfigDep = "com.github.pureconfig" %% "pureconfig" % pureconfigVersion
493474

494-
lazy val scala_libraries_5 = (project in file("scala-libraries-5"))
475+
lazy val scala_libraries_fp = (project in file("scala-libraries-fp"))
495476
.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,
499479
libraryDependencies ++= scalaTestDeps,
500480
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,
501491
"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
511492
)
512493
)
513494

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"))
515536
.settings(
516-
name := "scala-libraries-6",
537+
name := "scala-libraries-config",
517538
scalaVersion := scala3Version,
518539
libraryDependencies ++= scalaTestDeps,
519540
libraryDependencies ++= Seq(
541+
"com.typesafe" % "config" % "1.4.3",
542+
munitDep,
543+
"com.github.japgolly.clearconfig" %% "core" % "3.1.0",
544+
catsEffect,
520545
"io.circe" %% "circe-yaml" % "1.15.0",
521546
circeDep,
522547
circeParserDep
@@ -662,20 +687,6 @@ lazy val reflection = (project in file("reflection"))
662687
libraryDependencies += "junit" % "junit" % "4.13.2" % Test
663688
)
664689

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-
679690
Test / testOptions += Tests.Argument(TestFrameworks.ScalaTest, "-eG")
680691

681692
lazy val scala212 = (project in file("scala-2-modules/scala212"))
Lines changed: 12 additions & 0 deletions

0 commit comments

Comments
 (0)