Skip to content

Commit a356880

Browse files
authored
fix: PureConfig ProductHint were not picked up correctly (#108)
1 parent e71181a commit a356880

File tree

21 files changed

+42
-12
lines changed

21 files changed

+42
-12
lines changed

cassandra-datastax-driver-pureconfig/src/main/scala/com/avast/sst/datastax/pureconfig/ConfigReaders.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.avast.sst.datastax.pureconfig
22

33
import com.avast.sst.datastax.config._
4-
import pureconfig.{ConfigFieldMapping, ConfigReader, PascalCase}
4+
import pureconfig.generic.ProductHint
55
import pureconfig.generic.semiauto.{deriveEnumerationReader, deriveReader}
6+
import pureconfig.{ConfigFieldMapping, ConfigReader, PascalCase}
67

78
trait ConfigReaders {
89

10+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
11+
912
implicit val cassandraDatastaxDriverDatastaxConfigReader: ConfigReader[CassandraDatastaxDriverConfig] = deriveReader
1013

1114
// Basic driver config

cassandra-datastax-driver-pureconfig/src/main/scala/com/avast/sst/datastax/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

doobie-hikari-pureconfig/src/main/scala/com/avast/sst/doobie/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ import com.avast.sst.doobie.DoobieHikariConfig
55
import doobie.enum.TransactionIsolation
66
import pureconfig.ConfigReader
77
import pureconfig.error.CannotConvert
8+
import pureconfig.generic.ProductHint
89
import pureconfig.generic.semiauto.deriveReader
910

1011
trait ConfigReaders {
1112

13+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
14+
1215
implicit val doobieTransactionIsolationReader: ConfigReader[TransactionIsolation] = ConfigReader[String].emap {
1316
case "TRANSACTION_NONE" => TransactionIsolation.TransactionNone.asRight
1417
case "TRANSACTION_READ_UNCOMMITTED" => TransactionIsolation.TransactionReadUncommitted.asRight

doobie-hikari-pureconfig/src/main/scala/com/avast/sst/doobie/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

flyway-pureconfig/src/main/scala/com/avast/sst/flyway/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ import com.avast.sst.flyway.FlywayConfig
77
import org.flywaydb.core.api.MigrationVersion
88
import pureconfig.ConfigReader
99
import pureconfig.error.ExceptionThrown
10+
import pureconfig.generic.ProductHint
1011
import pureconfig.generic.semiauto.deriveReader
1112

1213
trait ConfigReaders {
1314

15+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
16+
1417
implicit private[pureconfig] val flywayCharsetReader: ConfigReader[Charset] = ConfigReader[String].emap { value =>
1518
Either.catchNonFatal(Charset.forName(value)).leftMap(ExceptionThrown.apply)
1619
}

flyway-pureconfig/src/main/scala/com/avast/sst/flyway/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

grpc-server-pureconfig/src/main/scala/com/avast/sst/grpc/server/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ package com.avast.sst.grpc.server.pureconfig
22

33
import com.avast.sst.grpc.server.GrpcServerConfig
44
import pureconfig.ConfigReader
5+
import pureconfig.generic.ProductHint
56
import pureconfig.generic.semiauto.deriveReader
67

78
trait ConfigReaders {
89

10+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
11+
912
implicit val grpcServerGrpcServerConfigReader: ConfigReader[GrpcServerConfig] = deriveReader
1013

1114
}

grpc-server-pureconfig/src/main/scala/com/avast/sst/grpc/server/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

http4s-client-blaze-pureconfig/src/main/scala/com/avast/sst/http4s/client/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ import org.http4s.client.blaze.ParserMode
66
import org.http4s.headers.`User-Agent`
77
import pureconfig.ConfigReader
88
import pureconfig.error.CannotConvert
9+
import pureconfig.generic.ProductHint
910
import pureconfig.generic.semiauto.{deriveEnumerationReader, deriveReader}
1011

1112
trait ConfigReaders {
1213

14+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
15+
1316
implicit val http4sClientUserAgentReader: ConfigReader[`User-Agent`] = ConfigReader[String].emap { value =>
1417
`User-Agent`.parse(value).leftMap { parseFailure =>
1518
CannotConvert(value, "User-Agent HTTP header", parseFailure.message)

http4s-client-blaze-pureconfig/src/main/scala/com/avast/sst/http4s/client/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

http4s-server-blaze-pureconfig/src/main/scala/com/avast/sst/http4s/server/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ package com.avast.sst.http4s.server.pureconfig
33
import com.avast.sst.http4s.server.Http4sBlazeServerConfig
44
import com.avast.sst.http4s.server.Http4sBlazeServerConfig.SocketOptions
55
import pureconfig.ConfigReader
6+
import pureconfig.generic.ProductHint
67
import pureconfig.generic.semiauto.deriveReader
78

89
trait ConfigReaders {
910

11+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
12+
1013
implicit val http4sServerSocketOptionsReader: ConfigReader[SocketOptions] = deriveReader
1114

1215
implicit val http4sServerHttp4sBlazeServerConfigReader: ConfigReader[Http4sBlazeServerConfig] = deriveReader

http4s-server-blaze-pureconfig/src/main/scala/com/avast/sst/http4s/server/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

http4s-server-blaze/src/test/scala/com/avast/sst/http4s/server/Http4sBlazeServerModuleTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import cats.effect.{ContextShift, IO, Timer}
44
import com.avast.sst.http4s.client.{Http4sBlazeClientConfig, Http4sBlazeClientModule}
55
import org.http4s.HttpRoutes
66
import org.http4s.dsl.Http4sDsl
7+
import org.scalatest.funsuite.AsyncFunSuite
78

89
import scala.concurrent.ExecutionContext
9-
import org.scalatest.funsuite.AsyncFunSuite
1010

1111
class Http4sBlazeServerModuleTest extends AsyncFunSuite with Http4sDsl[IO] {
1212

jvm-pureconfig/src/main/scala/com/avast/sst/jvm/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ package com.avast.sst.jvm.pureconfig
33
import com.avast.sst.jvm.execution.ForkJoinPoolConfig.TaskPeekingMode
44
import com.avast.sst.jvm.execution.{ForkJoinPoolConfig, ThreadPoolExecutorConfig}
55
import pureconfig.ConfigReader
6+
import pureconfig.generic.ProductHint
67
import pureconfig.generic.semiauto.{deriveEnumerationReader, deriveReader}
78

89
trait ConfigReaders {
910

11+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
12+
1013
implicit val jvmThreadPoolExecutorConfigReader: ConfigReader[ThreadPoolExecutorConfig] = deriveReader
1114

1215
implicit val jvmTaskPeekingModeReader: ConfigReader[TaskPeekingMode] = deriveEnumerationReader

jvm-pureconfig/src/main/scala/com/avast/sst/jvm/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

micrometer-jmx-pureconfig/src/main/scala/com/avast/sst/micrometer/jmx/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ package com.avast.sst.micrometer.jmx.pureconfig
22

33
import com.avast.sst.micrometer.jmx.MicrometerJmxConfig
44
import pureconfig.ConfigReader
5+
import pureconfig.generic.ProductHint
56
import pureconfig.generic.semiauto.deriveReader
67

78
trait ConfigReaders {
89

10+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
11+
912
implicit val micrometerMicrometerJmxConfigReader: ConfigReader[MicrometerJmxConfig] = deriveReader
1013

1114
}

micrometer-jmx-pureconfig/src/main/scala/com/avast/sst/micrometer/jmx/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

micrometer-statsd-pureconfig/src/main/scala/com/avast/sst/micrometer/statsd/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ package com.avast.sst.micrometer.statsd.pureconfig
22

33
import com.avast.sst.micrometer.statsd.MicrometerStatsDConfig
44
import pureconfig.ConfigReader
5+
import pureconfig.generic.ProductHint
56
import pureconfig.generic.semiauto.deriveReader
67

78
trait ConfigReaders {
89

10+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
11+
912
implicit val micrometerMicrometerStatsDConfigReader: ConfigReader[MicrometerStatsDConfig] = deriveReader
1013

1114
}

micrometer-statsd-pureconfig/src/main/scala/com/avast/sst/micrometer/statsd/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

monix-catnap-pureconfig/src/main/scala/com/avast/sst/monix/catnap/pureconfig/ConfigReaders.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ package com.avast.sst.monix.catnap.pureconfig
22

33
import com.avast.sst.monix.catnap.CircuitBreakerConfig
44
import pureconfig.ConfigReader
5+
import pureconfig.generic.ProductHint
56
import pureconfig.generic.semiauto.deriveReader
67

78
trait ConfigReaders {
89

10+
implicit protected def hint[T]: ProductHint[T] = ProductHint.default
11+
912
implicit val monixCatnapCircuitBreakerConfigReader: ConfigReader[CircuitBreakerConfig] = deriveReader
1013

1114
}

monix-catnap-pureconfig/src/main/scala/com/avast/sst/monix/catnap/pureconfig/implicits.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ object implicits extends ConfigReaders {
1414

1515
/** Contains [[pureconfig.ConfigReader]] instances with "camelCase" naming convention. */
1616
object CamelCase extends ConfigReaders {
17-
implicit def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
17+
implicit override protected def hint[T]: ProductHint[T] = ProductHint(ConfigFieldMapping(pureconfig.CamelCase, pureconfig.CamelCase))
1818
}
1919

2020
}

0 commit comments

Comments
 (0)