Skip to content

Commit

Permalink
fix mima and scalafix
Browse files Browse the repository at this point in the history
  • Loading branch information
ThijsBroersen committed Nov 16, 2024
1 parent efae03a commit b6c8f2b
Show file tree
Hide file tree
Showing 25 changed files with 77 additions and 98 deletions.
3 changes: 2 additions & 1 deletion .scalafix.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ OrganizeImports {
}

RemoveUnused {
imports = false // handled by OrganizeImports
# handled by OrganizeImports
imports = false
}
17 changes: 3 additions & 14 deletions .scalafmt.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ runner.dialect = scala213

fileOverride {
"glob:**/project/**" {
runner.dialect = scala213
runner.dialect = scala3
}
"glob:**/build.sbt" {
runner.dialect = scala213
Expand Down Expand Up @@ -32,20 +32,9 @@ includeCurlyBraceInSelectChains = false
danglingParentheses.preset = true
optIn.annotationNewlines = true

rewrite.rules = [SortImports, RedundantBraces]
rewrite.rules = [RedundantBraces]

project.excludeFilters = [
"core/src/main/scala/zio/config/ProductBuilder.scala",
"core/src/test/scala/zio/config/ProductBuilderTest.scala",
]

fileOverride {
"glob:**/scala-dotty/**" {
runner.dialect = scala3
}
"glob:**/scala-3.x/**" {
runner.dialect = scala3
}
"glob:**/project/**" {
runner.dialect = scala3
}
}
28 changes: 9 additions & 19 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ lazy val zioConfig = projectMatrix
.enablePlugins(BuildInfoPlugin)
.settings(buildInfoSettings("zio.config"))
.settings(macroDefinitionSettings)
.settings(enableMimaSettings)
.settings(enableMimaSettings())
.settings(
libraryDependencies ++= Seq(
"dev.zio" %%% "zio" % Versions.zio,
Expand All @@ -73,7 +73,7 @@ lazy val zioConfigAws = projectMatrix
.in(file("aws"))
.settings(stdSettings(Some("zio-config-aws")))
.settings(crossProjectSettings)
.settings(enableMimaSettings)
.settings(enableMimaSettings())
.settings(
libraryDependencies ++= Seq(
"com.amazonaws" % "aws-java-sdk-ssm" % Versions.aws,
Expand All @@ -89,7 +89,7 @@ lazy val zioConfigZioAws = projectMatrix
.in(file("zio-aws"))
.settings(stdSettings(Some("zio-config-zio-aws")))
.settings(crossProjectSettings)
.settings(enableMimaSettings)
.settings(enableMimaSettings())
.settings(
libraryDependencies ++= Seq(
"dev.zio" %% "zio-aws-ssm" % Versions.zioAws,
Expand Down Expand Up @@ -123,7 +123,7 @@ lazy val zioConfigPureconfig = projectMatrix
.settings(stdSettings(Some("zio-config-pureconfig")))
.settings(crossProjectSettings)
.settings(
enableMimaSettings ++ Seq(
enableMimaSettings() ++ Seq(
checkMima / skip := true
)
)
Expand Down Expand Up @@ -172,7 +172,7 @@ lazy val zioConfigDerivation = projectMatrix
.in(file("derivation"))
.settings(stdSettings(Some("zio-config-derivation")))
.settings(crossProjectSettings)
.settings(enableMimaSettings)
.settings(enableMimaSettings())
.dependsOn(zioConfig)
.jvmPlatform(scalaVersions = Seq(Scala212, Scala213, Scala3), settings = jvmSettings)
.jsPlatform(scalaVersions = Seq(Scala212, Scala213, Scala3), settings = jsSettings)
Expand All @@ -182,7 +182,7 @@ lazy val zioConfigMagnolia = projectMatrix
.in(file("magnolia"))
.settings(stdSettings(Some("zio-config-magnolia")))
.settings(crossProjectSettings)
.settings(enableMimaSettings)
.settings(enableMimaSettings())
.settings(
Dependencies.magnolia,
scalacOptions ++= {
Expand All @@ -205,7 +205,7 @@ lazy val zioConfigTypesafe = projectMatrix
.in(file("typesafe"))
.settings(stdSettings(Some("zio-config-typesafe")))
.settings(crossProjectSettings)
.settings(enableMimaSettings)
.settings(enableMimaSettings())
.settings(
libraryDependencies ++= Seq(
"com.typesafe" % "config" % "1.4.3",
Expand All @@ -220,7 +220,7 @@ lazy val zioConfigYaml = projectMatrix
.in(file("yaml"))
.settings(stdSettings(Some("zio-config-yaml")))
.settings(crossProjectSettings)
.settings(enableMimaSettings)
.settings(enableMimaSettings())
.settings(
libraryDependencies ++= Seq(
"org.snakeyaml" % "snakeyaml-engine" % "2.8",
Expand All @@ -235,7 +235,7 @@ lazy val zioConfigXml = projectMatrix
.in(file("xml"))
.settings(stdSettings(Some("zio-config-xml")))
.settings(crossProjectSettings)
.settings(enableMimaSettings)
.settings(enableMimaSettings())
.settings(
libraryDependencies ++= Seq(
"dev.zio" %%% "zio-parser" % "0.1.10",
Expand Down Expand Up @@ -342,13 +342,3 @@ lazy val docs = projectMatrix
zioConfigMagnolia
)
.enablePlugins(WebsitePlugin)

val checkMima = taskKey[Unit]("Check mima")

lazy val enableMimaSettings =
Def.settings(
checkMima := { if (isScalaJVM.value && !(checkMima / skip).value) mimaReportBinaryIssues.value else () },
mimaFailOnProblem := true,
mimaPreviousArtifacts := previousStableVersion.value.map(organization.value %% moduleName.value % _).toSet,
mimaBinaryIssueFilters := Seq()
)
2 changes: 1 addition & 1 deletion core/src/main/scala-3/zio/config/TupleConversion.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package zio.config

import scala.deriving._
import scala.deriving.*

trait TupleConversion[A, B] {
def to(a: A): B
Expand Down
2 changes: 1 addition & 1 deletion core/src/test/scala/zio/config/IndexedFlatSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import zio.test._

object IndexedFlatSpec extends ZIOSpecDefault {

def spec = suite("IndexedFlatSpec") {
def spec: Spec[Environment & (TestEnvironment & Scope), Any] = suite("IndexedFlatSpec") {
test("indexed sequence simple") {
val configProvider = ConfigProvider.fromMap(Map("id[0]" -> "1", "id[1]" -> "2", "id[2]" -> "3"))
val config = Config.listOf("id", Config.int)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ object ConfigSourceOrElseExample extends App {
}

object Hi extends App {
val runner =
val runner: IO[Config.Error, Map[String, String]] =
ConfigProvider
.fromMap(Map("afsal.thaj" -> "damn"))
.load(Config.table("afsal.thaj", Config.string))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package zio.config.examples

import zio.{Config, Runtime, ZIO, ZLayer}
import zio.config.magnolia.deriveConfig
import zio.config.typesafe.TypesafeConfigProvider
import zio.{Config, ExitCode, Runtime, URIO, ZIO, ZLayer}

object StandardPattern extends zio.ZIOAppDefault {

Expand All @@ -21,7 +21,7 @@ object StandardPattern extends zio.ZIOAppDefault {
.kebabCase
)

def run = ZIO
def run: URIO[Any, ExitCode] = ZIO
.config(CombinedArrayValue.config)
.debug("result")
.exitCode
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import zio.config.examples.typesafe.EitherImpureOps
import zio.config.magnolia.deriveConfig
import zio.config.typesafe.TypesafeConfigProvider
import zio.{Config, IO}

import examples._

object AutoDerivationCustomKeys extends App with EitherImpureOps {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ package zio.config.examples.refined

import eu.timepit.refined.api.Refined
import eu.timepit.refined.collection.NonEmpty
import zio.ConfigProvider
import zio.config._
import zio.config.examples.ZioOps
import zio.config.refined._
import zio.{Config, ConfigProvider, IO}

object RefinedReadConfig extends App {
case class RefinedProd(
ldap: Refined[String, NonEmpty],
dbUrl: Option[Refined[String, NonEmpty]]
)

def prodConfig =
def prodConfig: Config[RefinedProd] =
(
refine[String, NonEmpty]("LDAP") zip
refine[String, NonEmpty]("DB_URL").optional
Expand All @@ -31,7 +31,7 @@ object RefinedReadConfig extends App {

import zio.config.magnolia.deriveConfig

val prodConfigAutomatic =
val prodConfigAutomatic: IO[Config.Error, RefinedProd] =
read(
deriveConfig[RefinedProd].mapKey(toSnakeCase).mapKey(_.toUpperCase) from ConfigProvider.fromMap(
configMap
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package zio.config.examples
package typesafe

import zio.ConfigProvider
import zio.config._
import zio.config.derivation.discriminator
import zio.config._, typesafe._, magnolia._
import zio.{Config, ConfigProvider, IO}

import typesafe._
import magnolia._

object SealedTraitListExample extends App {

Expand All @@ -14,7 +17,7 @@ object SealedTraitListExample extends App {

case class TransformationRules(transformations: List[DataTransformation])

val transformations =
val transformations: String =
s"""
|transformations = [
| {
Expand All @@ -28,7 +31,8 @@ object SealedTraitListExample extends App {
| ]
|""".stripMargin

val pgm = ConfigProvider.fromHoconString(transformations).load(deriveConfig[TransformationRules])
val pgm: IO[Config.Error, TransformationRules] =
ConfigProvider.fromHoconString(transformations).load(deriveConfig[TransformationRules])

pgm equalM (TransformationRules(
List(CastColumns(Map("col_C" -> "decimal(19,2)", "col_B" -> "double", "col_A" -> "string")))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package zio.config.examples.typesafe

import zio.Runtime.default
import zio.config._
import zio.{Config, ConfigProvider, IO, Unsafe}

import magnolia._
import zio.Runtime.default

object TypesafeConfigList extends App with EitherImpureOps {
val configString: String =
Expand Down
24 changes: 10 additions & 14 deletions magnolia/src/main/scala-3/zio/config/magnolia/DeriveConfig.scala
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
package zio.config.magnolia

import zio.config._
import zio.NonEmptyChunk
import zio.config.*
import zio.config.derivation.*
import zio.{Chunk, Config, LogLevel}

import java.io.File
import java.net.{URI, URL}
import java.time.{Duration, Instant, LocalDate, LocalDateTime, LocalTime, OffsetDateTime}
import java.net.URI
import java.time.{LocalDate, LocalDateTime, LocalTime, OffsetDateTime}
import java.util.UUID
import scala.concurrent.duration.{Duration => ScalaDuration}
import scala.deriving._
import scala.compiletime.{constValue, constValueTuple, erasedValue, summonFrom, summonInline}
import scala.quoted
import scala.util.Try
import DeriveConfig._
import zio.{Chunk, Config, ConfigProvider, LogLevel}, Config._
import zio.config.syntax._
import zio.config.derivation._
import scala.deriving.*

import DeriveConfig.*
import Config.*

final case class DeriveConfig[A](desc: Config[A], metadata: Option[DeriveConfig.Metadata] = None) {
def ??(description: String): DeriveConfig[A] =
Expand All @@ -39,7 +35,7 @@ object DeriveConfig {
def apply[A](implicit ev: DeriveConfig[A]): DeriveConfig[A] =
ev

def from[A](desc: Config[A]) =
def from[A](desc: Config[A]): DeriveConfig[A] =
DeriveConfig(desc, None)

sealed trait Metadata {
Expand Down
3 changes: 2 additions & 1 deletion magnolia/src/main/scala-3/zio/config/magnolia/Macros.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package zio.config.magnolia

import zio.config.derivation.*

import scala.quoted.*
import zio.config.derivation._

object Macros:
inline def nameOf[T]: List[name] = ${ anns[T, name]("zio.config.derivation.name") }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
package zio.config.magnolia.examples

import zio.config.magnolia._
import zio.{Config, ConfigProvider}
import zio.config.magnolia._
import zio.config._
import zio.Unsafe
import zio.IO
import zio.config.syntax._
import zio.config.*
import zio.config.magnolia.*
import zio.{ConfigProvider, IO, Unsafe}

object AutoDerivationSimple extends App:
// Use of Either is almost prohibited by the looks of it
val sourceMap =
val sourceMap: Map[String, String] =
Map(
"a.b-c" -> "v1",
"a.c-d" -> "C",
Expand All @@ -25,7 +21,7 @@ object AutoDerivationSimple extends App:
"a.y" -> "HmmAbc"
)

val source =
val source: ConfigProvider =
ConfigProvider.fromMap(
sourceMap,
pathDelim = ".",
Expand All @@ -35,7 +31,7 @@ object AutoDerivationSimple extends App:
val io: IO[String, A] =
source.load(deriveConfig[A].toKebabCase).mapError(_.prettyPrint())

val readResult = Unsafe.unsafe { implicit u =>
val readResult: A = Unsafe.unsafe { implicit u =>
zio.Runtime.default.unsafe.run(io).getOrThrowFiberFailure()
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package zio.config.magnolia.examples

import zio.config.magnolia._
import zio.config.magnolia.*

final case class A(a: B)

Expand Down
3 changes: 1 addition & 2 deletions magnolia/src/main/scala-3/zio/config/magnolia/package.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package zio.config

import zio.{Config, ConfigProvider}
import zio.IO
import zio.{Config, ConfigProvider, IO}

import scala.deriving.Mirror

Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
package zio.config.magnolia

import zio.{Config, ConfigProvider}
import zio.config._
import zio.test.Assertion._
import zio.test._
import zio.config.*
import zio.test.*
import zio.test.Assertion.*
import zio.{Config, ConfigProvider, Scope}

import java.time.{Instant, LocalDate, LocalDateTime, LocalTime, ZoneOffset}
import java.util.UUID
import AutomaticConfigTestUtils._

import AutomaticConfigTestUtils.*

object AutomaticConfigSpec extends ZIOSpecDefault {

def spec =
def spec: Spec[Environment & (TestEnvironment & Scope), Any] =
suite("magnolia spec")(
test("automatic derivation spec") {
check(genEnvironment) { environment =>
Expand Down
Loading

0 comments on commit b6c8f2b

Please sign in to comment.