diff --git a/.scala-steward.conf b/.scala-steward.conf index ce2c258..8010a94 100644 --- a/.scala-steward.conf +++ b/.scala-steward.conf @@ -1,4 +1,4 @@ # AWS release SDK minor versions constantly, so let's go weekly instead of the default ("@asap") -pullRequests.frequency = "@weekly" +pullRequests.frequency = "@monthly" diff --git a/binlog-stream/app/io/laserdisc/mysql/binlog/client/package.scala b/binlog-stream/app/io/laserdisc/mysql/binlog/client/package.scala index 36dcc4d..be2836d 100644 --- a/binlog-stream/app/io/laserdisc/mysql/binlog/client/package.scala +++ b/binlog-stream/app/io/laserdisc/mysql/binlog/client/package.scala @@ -3,7 +3,7 @@ package io.laserdisc.mysql.binlog import cats.effect.Sync import cats.implicits._ import com.github.shyiko.mysql.binlog.BinaryLogClient -import io.chrisdavenport.log4cats.Logger +import org.typelevel.log4cats.Logger import io.laserdisc.mysql.binlog.checkpoint.BinlogOffset import io.laserdisc.mysql.binlog.config.BinLogConfig diff --git a/binlog-stream/app/io/laserdisc/mysql/binlog/database/database.scala b/binlog-stream/app/io/laserdisc/mysql/binlog/database/database.scala index fef82be..9448bc3 100644 --- a/binlog-stream/app/io/laserdisc/mysql/binlog/database/database.scala +++ b/binlog-stream/app/io/laserdisc/mysql/binlog/database/database.scala @@ -12,7 +12,7 @@ package object database { for { ce <- ExecutionContexts.fixedThreadPool[F](32) // our connect EC te <- Blocker[F] // our transaction EC - _ <- Resource.liftF(Sync[F].delay(Class.forName(config.driverClass))) + _ <- Resource.eval(Sync[F].delay(Class.forName(config.driverClass))) xa <- HikariTransactor.newHikariTransactor[F]( config.driverClass, config.connectionURL, diff --git a/binlog-stream/app/io/laserdisc/mysql/binlog/stream/MysqlBinlogStream.scala b/binlog-stream/app/io/laserdisc/mysql/binlog/stream/MysqlBinlogStream.scala index 104450f..7892b33 100644 --- a/binlog-stream/app/io/laserdisc/mysql/binlog/stream/MysqlBinlogStream.scala +++ b/binlog-stream/app/io/laserdisc/mysql/binlog/stream/MysqlBinlogStream.scala @@ -5,7 +5,7 @@ import cats.implicits._ import com.github.shyiko.mysql.binlog.BinaryLogClient import com.github.shyiko.mysql.binlog.event.Event import fs2.concurrent.Queue -import io.chrisdavenport.log4cats.Logger +import org.typelevel.log4cats.Logger class MysSqlBinlogEventProcessor[F[_]: ConcurrentEffect: Logger]( binlogClient: BinaryLogClient, diff --git a/binlog-stream/app/io/laserdisc/mysql/binlog/stream/TransactionState.scala b/binlog-stream/app/io/laserdisc/mysql/binlog/stream/TransactionState.scala index 98e6e3c..85e2492 100644 --- a/binlog-stream/app/io/laserdisc/mysql/binlog/stream/TransactionState.scala +++ b/binlog-stream/app/io/laserdisc/mysql/binlog/stream/TransactionState.scala @@ -12,7 +12,7 @@ import com.github.shyiko.mysql.binlog.event.{ EventType, EventHeaderV4 => JEventHeaderV4 } -import io.chrisdavenport.log4cats.Logger +import org.typelevel.log4cats.Logger import io.circe.Json import io.laserdisc.mysql.binlog.event.EventMessage import io.laserdisc.mysql.binlog.models._ diff --git a/binlog-stream/app/io/laserdisc/mysql/binlog/stream/package.scala b/binlog-stream/app/io/laserdisc/mysql/binlog/stream/package.scala index bd84dce..2f8e548 100644 --- a/binlog-stream/app/io/laserdisc/mysql/binlog/stream/package.scala +++ b/binlog-stream/app/io/laserdisc/mysql/binlog/stream/package.scala @@ -4,7 +4,7 @@ import cats.effect.concurrent.Ref import cats.effect.{ ConcurrentEffect, Sync } import cats.implicits._ import com.github.shyiko.mysql.binlog.event.Event -import io.chrisdavenport.log4cats.Logger +import org.typelevel.log4cats.Logger import io.laserdisc.mysql.binlog.event.EventMessage package object stream { diff --git a/binlog-stream/test/io/laserdisc/mysql/binlog/stream/MysqlBinlogStreamTest.scala b/binlog-stream/test/io/laserdisc/mysql/binlog/stream/MysqlBinlogStreamTest.scala index e3a6f4b..dec552e 100644 --- a/binlog-stream/test/io/laserdisc/mysql/binlog/stream/MysqlBinlogStreamTest.scala +++ b/binlog-stream/test/io/laserdisc/mysql/binlog/stream/MysqlBinlogStreamTest.scala @@ -7,8 +7,8 @@ import com.github.shyiko.mysql.binlog.event.{ EventHeaderV4, EventType } import db.MySqlContainer import doobie.hikari.HikariTransactor import doobie.implicits._ -import io.chrisdavenport.log4cats.SelfAwareStructuredLogger -import io.chrisdavenport.log4cats.slf4j.Slf4jLogger +import org.typelevel.log4cats.Logger +import org.typelevel.log4cats.slf4j.Slf4jLogger import cats.implicits._ import io.laserdisc.mysql.binlog.database import org.scalatest.matchers.should.Matchers @@ -49,7 +49,7 @@ class MysqlBinlogStreamTest }) val s = for { - implicit0(logger: SelfAwareStructuredLogger[IO]) <- + implicit0(logger: Logger[IO]) <- fs2.Stream.eval( Slf4jLogger.fromName[IO]("application") ) diff --git a/binlog-stream/test/io/laserdisc/mysql/binlog/stream/PipesTest.scala b/binlog-stream/test/io/laserdisc/mysql/binlog/stream/PipesTest.scala index a2ecd73..b7cc5bc 100644 --- a/binlog-stream/test/io/laserdisc/mysql/binlog/stream/PipesTest.scala +++ b/binlog-stream/test/io/laserdisc/mysql/binlog/stream/PipesTest.scala @@ -7,8 +7,8 @@ import com.github.shyiko.mysql.binlog.BinaryLogClient import db.MySqlContainer import doobie.hikari.HikariTransactor import doobie.implicits._ -import io.chrisdavenport.log4cats.SelfAwareStructuredLogger -import io.chrisdavenport.log4cats.slf4j.Slf4jLogger +import org.typelevel.log4cats.Logger +import org.typelevel.log4cats.slf4j.Slf4jLogger import io.laserdisc.mysql.binlog.database import io.laserdisc.mysql.binlog.models.SchemaMetadata import org.scalatest.matchers.should.Matchers @@ -59,9 +59,8 @@ class PipesTest extends AnyWordSpec with Matchers with ForAllTestContainer with val events = xaResource .use { implicit xa => for { - implicit0(logger: SelfAwareStructuredLogger[IO]) <- Slf4jLogger - .fromName[IO]("testing") - schemaMetadata <- SchemaMetadata.buildSchemaMetadata("test") + implicit0(logger: Logger[IO]) <- Slf4jLogger.fromName[IO]("testing") + schemaMetadata <- SchemaMetadata.buildSchemaMetadata("test") transactionState <- TransactionState .createTransactionState[IO](schemaMetadata, client) actions <- MysqlBinlogStream diff --git a/mysql-binlog-stream-examples/app/main/BinLogListener.scala b/mysql-binlog-stream-examples/app/main/BinLogListener.scala index e65eb0d..9a2348a 100644 --- a/mysql-binlog-stream-examples/app/main/BinLogListener.scala +++ b/mysql-binlog-stream-examples/app/main/BinLogListener.scala @@ -6,8 +6,8 @@ import ciris._ import ciris.refined._ import eu.timepit.refined.auto._ import eu.timepit.refined.types.string.TrimmedString -import io.chrisdavenport.log4cats.Logger -import io.chrisdavenport.log4cats.slf4j.Slf4jLogger +import org.typelevel.log4cats.Logger +import org.typelevel.log4cats.slf4j.Slf4jLogger import io.laserdisc.mysql.binlog.config.BinLogConfig import io.laserdisc.mysql.binlog.models.SchemaMetadata import io.laserdisc.mysql.binlog.stream.{ streamEvents, MysqlBinlogStream, TransactionState } @@ -25,7 +25,7 @@ object BinLogListener extends IOApp { env("DB_URL").option, env("DB_SCHEMA"), env("USE_SSL").as[Boolean] - ).mapN { case (host, port, user, password, url, schema, useSSL) => + ).parMapN { case (host, port, user, password, url, schema, useSSL) => BinLogConfig( host, port, diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 47d2af4..d95cf1c 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -3,14 +3,14 @@ import sbt._ object Dependencies { val cirisVersion = "1.2.1" - val doobieVersion = "0.10.0" - val circeVersion = "0.13.0" - val catsVersion = "2.3.1" + val doobieVersion = "0.13.4" + val circeVersion = "0.14.1" + val catsVersion = "2.5.1" val TestLib = Seq( libraryDependencies ++= Seq( "org.scalamock" %% "scalamock" % "5.1.0" % Test, - "org.scalatest" %% "scalatest" % "3.2.3" % Test, // ApacheV2 + "org.scalatest" %% "scalatest" % "3.2.9" % Test, "com.dimafeng" %% "testcontainers-scala" % "0.39.5" % Test, "org.testcontainers" % "mysql" % "1.15.3" % Test, "org.testcontainers" % "testcontainers" % "1.15.3" % Test @@ -21,17 +21,17 @@ object Dependencies { libraryDependencies ++= Seq( "is.cir" %% "ciris-enumeratum" % cirisVersion, "is.cir" %% "ciris-refined" % cirisVersion, - "eu.timepit" %% "refined" % "0.9.20" + "eu.timepit" %% "refined" % "0.9.26" ) ) val Logging = Seq( libraryDependencies ++= Seq( - "ch.qos.logback" % "logback-classic" % "1.2.3", // logging - "ch.qos.logback" % "logback-core" % "1.2.3", // logging - "org.slf4j" % "jcl-over-slf4j" % "1.7.31", - "org.slf4j" % "jul-to-slf4j" % "1.7.31", - "io.chrisdavenport" %% "log4cats-slf4j" % "1.1.1" + "ch.qos.logback" % "logback-classic" % "1.2.3", // logging + "ch.qos.logback" % "logback-core" % "1.2.3", // logging + "org.slf4j" % "jcl-over-slf4j" % "1.7.31", + "org.slf4j" % "jul-to-slf4j" % "1.7.31", + "org.typelevel" %% "log4cats-slf4j" % "1.3.1" ) ) @@ -41,7 +41,7 @@ object Dependencies { "org.tpolecat" %% "doobie-hikari" % doobieVersion, // HikariCP transactor. "org.tpolecat" %% "doobie-refined" % doobieVersion, // Postgres driver 42.1.4 + type mappings. "org.tpolecat" %% "doobie-scalatest" % doobieVersion % Test, // Support for doobie scalatest - "mysql" % "mysql-connector-java" % "8.0.23", + "mysql" % "mysql-connector-java" % "8.0.25", "com.github.shyiko" % "mysql-binlog-connector-java" % "0.21.0" ) ) @@ -64,8 +64,8 @@ object Dependencies { val XML = Seq( libraryDependencies ++= Seq( "javax.xml.bind" % "jaxb-api" % "2.3.1", - "com.sun.xml.bind" % "jaxb-impl" % "3.0.0", - "com.sun.xml.bind" % "jaxb-core" % "3.0.0", + "com.sun.xml.bind" % "jaxb-impl" % "3.0.1", + "com.sun.xml.bind" % "jaxb-core" % "3.0.1", "javax.activation" % "activation" % "1.1.1" ) )