Skip to content

Commit

Permalink
Merge pull request #269 from mielnikk/instances-refactor
Browse files Browse the repository at this point in the history
Remove instances dependency from slick, spray, akka, circe and play
  • Loading branch information
pk044 committed Feb 20, 2023
2 parents 26290ed + b2242ed commit 8079209
Show file tree
Hide file tree
Showing 40 changed files with 46 additions and 21 deletions.
50 changes: 35 additions & 15 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ lazy val doobieSettings = commonSettings ++ Seq(
libraryDependencies += optionalEnumeratum.cross(CrossVersion.for3Use2_13),
)

lazy val macroUtilsSettings = commonMacroSettings ++ Seq(
lazy val coreSettings = commonMacroSettings ++ Seq(
libraryDependencies += (scalaCheck.value % "test").cross(CrossVersion.for3Use2_13),
libraryDependencies += optionalEnumeratum
)
Expand Down Expand Up @@ -252,6 +252,23 @@ lazy val taggedMetaSettings = metaSettings ++ Seq(

lazy val instancesSettings = commonSettings

lazy val macroUtilsSettings = coreSettings ++ Seq(
Compile / scalaSource := baseDirectory.value / ".." / ".." / "core" / "src" / "main" / "scala",
Test / scalaSource := baseDirectory.value / ".." / ".." / "core" / "src" / "test" / "scala"
)

lazy val core = crossProject(JSPlatform, JVMPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.in(file("core"))
.settings(coreSettings: _*)
.settings(publishSettings: _*)
.settings(
name := "core",
description := "Macros and utils supporting Kebs library",
moduleName := "kebs-core",
)

lazy val macroUtils = crossProject(JSPlatform, JVMPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
Expand All @@ -260,13 +277,13 @@ lazy val macroUtils = crossProject(JSPlatform, JVMPlatform)
.settings(publishSettings: _*)
.settings(
name := "macro-utils",
description := "Macros supporting Kebs library",
moduleName := "kebs-macro-utils"
description := "Macros and utils supporting Kebs library",
moduleName := "kebs-macro-utils",
)

lazy val slickSupport = project
.in(file("slick"))
.dependsOn(macroUtils.jvm, instances)
.dependsOn(core.jvm, instances % "test -> test")
.settings(slickSettings: _*)
.settings(publishSettings: _*)
.settings(disableScala("3"))
Expand All @@ -291,7 +308,7 @@ lazy val doobieSupport = project

lazy val sprayJsonMacros = project
.in(file("spray-json-macros"))
.dependsOn(macroUtils.jvm)
.dependsOn(core.jvm)
.settings(sprayJsonMacroSettings: _*)
.settings(publishSettings: _*)
.settings(disableScala("3"))
Expand All @@ -304,7 +321,7 @@ lazy val sprayJsonMacros = project

lazy val sprayJsonSupport = project
.in(file("spray-json"))
.dependsOn(sprayJsonMacros, instances)
.dependsOn(sprayJsonMacros, instances % "test -> test")
.settings(sprayJsonSettings: _*)
.settings(publishSettings: _*)
.settings(disableScala("3"))
Expand All @@ -317,7 +334,7 @@ lazy val sprayJsonSupport = project

lazy val playJsonSupport = project
.in(file("play-json"))
.dependsOn(macroUtils.jvm, instances)
.dependsOn(core.jvm, instances % "test -> test")
.settings(playJsonSettings: _*)
.settings(publishSettings: _*)
.settings(disableScala("3"))
Expand All @@ -330,7 +347,7 @@ lazy val playJsonSupport = project

lazy val circeSupport = project
.in(file("circe"))
.dependsOn(macroUtils.jvm, instances)
.dependsOn(core.jvm, instances % "test -> test")
.settings(circeSettings: _*)
.settings(crossBuildSettings: _*)
.settings(publishSettings: _*)
Expand All @@ -343,7 +360,7 @@ lazy val circeSupport = project

lazy val akkaHttpSupport = project
.in(file("akka-http"))
.dependsOn(macroUtils.jvm, instances, tagged.jvm % "test -> test", taggedMeta % "test -> test")
.dependsOn(core.jvm, instances % "test -> test", tagged.jvm % "test -> test", taggedMeta % "test -> test")
.settings(akkaHttpSettings: _*)
.settings(publishSettings: _*)
.settings(disableScala("3"))
Expand All @@ -356,7 +373,7 @@ lazy val akkaHttpSupport = project

lazy val http4sSupport = project
.in(file("http4s"))
.dependsOn(macroUtils.jvm, instances, opaque.jvm % "test -> test", tagged.jvm % "test -> test", taggedMeta % "test -> test")
.dependsOn(core.jvm, instances, opaque.jvm % "test -> test", tagged.jvm % "test -> test", taggedMeta % "test -> test")
.settings(http4sSettings: _*)
.settings(publishSettings: _*)
.settings(
Expand All @@ -368,7 +385,7 @@ lazy val http4sSupport = project

lazy val jsonschemaSupport = project
.in(file("jsonschema"))
.dependsOn(macroUtils.jvm)
.dependsOn(core.jvm)
.settings(jsonschemaSettings: _*)
.settings(publishSettings: _*)
.settings(disableScala("3"))
Expand All @@ -381,7 +398,7 @@ lazy val jsonschemaSupport = project

lazy val scalacheckSupport = project
.in(file("scalacheck"))
.dependsOn(macroUtils.jvm)
.dependsOn(core.jvm)
.settings(scalacheckSettings: _*)
.settings(publishSettings: _*)
.settings(disableScala("3"))
Expand All @@ -396,7 +413,7 @@ lazy val tagged = crossProject(JSPlatform, JVMPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Full)
.in(file("tagged"))
.dependsOn(macroUtils)
.dependsOn(core)
.settings(taggedSettings: _*)
.settings(publishSettings: _*)
.settings(disableScala("3"))
Expand All @@ -411,7 +428,7 @@ lazy val opaque = crossProject(JSPlatform, JVMPlatform)
.withoutSuffixFor(JVMPlatform)
.crossType(CrossType.Pure)
.in(file("opaque"))
.dependsOn(macroUtils)
.dependsOn(core)
.settings(opaqueSettings: _*)
.settings(disableScala("2.13"))
.settings(disableScala("2.12"))
Expand All @@ -427,7 +444,7 @@ lazy val opaque = crossProject(JSPlatform, JVMPlatform)
lazy val taggedMeta = project
.in(file("tagged-meta"))
.dependsOn(
macroUtils.jvm,
core.jvm,
tagged.jvm,
sprayJsonSupport % "test -> test",
circeSupport % "test -> test",
Expand Down Expand Up @@ -468,6 +485,7 @@ lazy val benchmarks = project

lazy val instances = project
.in(file("instances"))
.dependsOn(core.jvm)
.settings(instancesSettings: _*)
.settings(publishSettings: _*)
.settings(
Expand All @@ -483,6 +501,8 @@ lazy val kebs = project
tagged.js,
opaque.jvm,
opaque.js,
core.jvm,
core.js,
macroUtils.jvm,
macroUtils.js,
slickSupport,
Expand Down
3 changes: 2 additions & 1 deletion circe/src/test/scala/instances/TimeInstancesMixinTests.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ import io.circe.{Decoder, Encoder, Json}
import org.scalatest.funsuite.AnyFunSuite
import org.scalatest.matchers.should.Matchers
import pl.iterators.kebs.circe.KebsCirce
import pl.iterators.kebs.instances.InstanceConverter
import pl.iterators.kebs.instances.time.LocalDateTimeString
import pl.iterators.kebs.instances.time.mixins.{DurationNanosLong, InstantEpochMilliLong}
import pl.iterators.kebs.instances.{InstanceConverter, TimeInstances}
import pl.iterators.kebs.instances.TimeInstances

import java.time._
import java.time.format.DateTimeFormatter
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package pl.iterators.kebs.instances.net
import org.scalatest.funsuite.AnyFunSuite
import org.scalatest.matchers.should.Matchers
import pl.iterators.kebs.instances.InstanceConverter
import pl.iterators.kebs.instances.InstanceConverter.DecodeErrorException
import InstanceConverter.DecodeErrorException

import java.net.URI

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ package pl.iterators.kebs.instances.time

import org.scalatest.funsuite.AnyFunSuite
import org.scalatest.matchers.should.Matchers
import pl.iterators.kebs.instances.InstanceConverter
import pl.iterators.kebs.instances.InstanceConverter.DecodeErrorException
import pl.iterators.kebs.instances.{InstanceConverter, TimeInstances}
import pl.iterators.kebs.instances.TimeInstances

import java.time._

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ package pl.iterators.kebs.instances.util

import org.scalatest.funsuite.AnyFunSuite
import org.scalatest.matchers.should.Matchers
import pl.iterators.kebs.instances.InstanceConverter
import pl.iterators.kebs.instances.InstanceConverter.DecodeErrorException
import pl.iterators.kebs.instances.{InstanceConverter, UtilInstances}
import pl.iterators.kebs.instances.UtilInstances

import java.util.{Currency, Locale, UUID}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ package instances

import org.scalatest.funsuite.AnyFunSuite
import org.scalatest.matchers.should.Matchers
import pl.iterators.kebs.instances.InstanceConverter
import pl.iterators.kebs.instances.time.LocalDateTimeString
import pl.iterators.kebs.instances.time.mixins.{DurationNanosLong, InstantEpochMilliLong}
import pl.iterators.kebs.instances.{InstanceConverter, TimeInstances}
import pl.iterators.kebs.instances.TimeInstances
import play.api.libs.json.{Format, JsNumber, JsString, JsSuccess}

import java.time._
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ package instances

import org.scalatest.funsuite.AnyFunSuite
import org.scalatest.matchers.should.Matchers
import pl.iterators.kebs.instances.InstanceConverter
import pl.iterators.kebs.instances.time.LocalDateTimeString
import pl.iterators.kebs.instances.time.mixins.{DurationNanosLong, InstantEpochMilliLong}
import pl.iterators.kebs.instances.{InstanceConverter, TimeInstances}
import pl.iterators.kebs.instances.TimeInstances
import pl.iterators.kebs.json.KebsSpray
import pl.iterators.kebs.macros.CaseClass1Rep
import spray.json._
Expand Down

0 comments on commit 8079209

Please sign in to comment.