Skip to content

Commit

Permalink
Drop Scala 2.12 support (#92)
Browse files Browse the repository at this point in the history
  • Loading branch information
oyvindberg authored Apr 22, 2024
1 parent 88cb366 commit b00a33f
Show file tree
Hide file tree
Showing 35 changed files with 70 additions and 91 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
strategy:
fail-fast: false
matrix:
scala-version: [212, 213, 3]
scala-version: [213, 3]
postgres-version: [12, 16]
steps:
- uses: actions/checkout@v4
Expand Down
10 changes: 0 additions & 10 deletions bleep.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,26 +21,20 @@ projects:
sources: ./generated-and-checked-in
typo-dsl-anorm:
cross:
jvm212:
extends: template-kind-projector
jvm213:
extends: template-kind-projector
dependencies: org.playframework.anorm::anorm:2.7.0
extends: template-cross
sources: ../typo-dsl-shared
typo-dsl-doobie:
cross:
jvm212:
extends: template-kind-projector
jvm213:
extends: template-kind-projector
dependencies: org.tpolecat::doobie-postgres:1.0.0-RC5
extends: template-cross
sources: ../typo-dsl-shared
typo-dsl-zio-jdbc:
cross:
jvm212:
extends: template-kind-projector
jvm213:
extends: template-kind-projector
dependencies: dev.zio::zio-jdbc:0.1.2
Expand Down Expand Up @@ -129,10 +123,6 @@ templates:
strict: true
template-cross:
cross:
jvm212:
scala:
options: -Xsource:3
version: 2.12.19
jvm213:
scala:
options: -Xsource:3
Expand Down
2 changes: 1 addition & 1 deletion site-in/other-features/flexible.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ of integrating Typo piece-by-piece into your code base.

## Developed in the Scala 2/3 shared subset

Everything works on 2.12, 2.13, and 3.3.
Everything works on Scala 2.13 and 3.3.

## Bring your own DB library

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ object TypoInstant {
case other => Left(TypeDoesNotMatch(s"Expected instance of java.lang.String, got ${other.getClass.getName}"))
}
)
implicit def ordering(implicit O0: Ordering[Instant]): Ordering[TypoInstant] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoInstant] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoInstant] = new ParameterMetaData[TypoInstant] {
override def sqlType: String = "timestamptz"
override def jdbcType: Int = Types.OTHER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ object TypoLocalDate {
case other => Left(TypeDoesNotMatch(s"Expected instance of java.lang.String, got ${other.getClass.getName}"))
}
)
implicit def ordering(implicit O0: Ordering[LocalDate]): Ordering[TypoLocalDate] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalDate] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalDate] = new ParameterMetaData[TypoLocalDate] {
override def sqlType: String = "date"
override def jdbcType: Int = Types.OTHER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ object TypoLocalDateTime {
case other => Left(TypeDoesNotMatch(s"Expected instance of java.lang.String, got ${other.getClass.getName}"))
}
)
implicit def ordering(implicit O0: Ordering[LocalDateTime]): Ordering[TypoLocalDateTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalDateTime] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalDateTime] = new ParameterMetaData[TypoLocalDateTime] {
override def sqlType: String = "timestamp"
override def jdbcType: Int = Types.OTHER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ object TypoLocalTime {
case other => Left(TypeDoesNotMatch(s"Expected instance of java.lang.String, got ${other.getClass.getName}"))
}
)
implicit def ordering(implicit O0: Ordering[LocalTime]): Ordering[TypoLocalTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalTime] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalTime] = new ParameterMetaData[TypoLocalTime] {
override def sqlType: String = "time"
override def jdbcType: Int = Types.OTHER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ object TypoOffsetTime {
case other => Left(TypeDoesNotMatch(s"Expected instance of java.lang.String, got ${other.getClass.getName}"))
}
)
implicit def ordering(implicit O0: Ordering[OffsetTime]): Ordering[TypoOffsetTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoOffsetTime] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoOffsetTime] = new ParameterMetaData[TypoOffsetTime] {
override def sqlType: String = "timetz"
override def jdbcType: Int = Types.OTHER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ object TypoShort {
override def times(x: TypoShort, y: TypoShort): TypoShort = TypoShort((x.value * y.value).toShort)
override def negate(x: TypoShort): TypoShort = TypoShort((-x.value).toShort)
override def fromInt(x: Int): TypoShort = TypoShort(x.toShort)
override def toInt(x: TypoShort): Int = x.toInt
override def toLong(x: TypoShort): Long = x.toLong
override def toFloat(x: TypoShort): Float = x.toFloat
override def toDouble(x: TypoShort): Double = x.toDouble
def parseString(str: String): Option[TypoShort] = (str, Option.empty[TypoShort])._2 // sorry mac, this was too much trouble to implement for 2.12
override def toInt(x: TypoShort): Int = x.value.toInt
override def toLong(x: TypoShort): Long = x.value.toLong
override def toFloat(x: TypoShort): Float = x.value.toFloat
override def toDouble(x: TypoShort): Double = x.value.toDouble
def parseString(str: String): Option[TypoShort] = str.toShortOption.map(TypoShort.apply)
}
implicit lazy val arrayColumn: Column[Array[TypoShort]] = Column.nonNull[Array[TypoShort]]((v1: Any, _) =>
v1 match {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ object TypoUUID {
case other => Left(TypeDoesNotMatch(s"Expected instance of java.util.UUID, got ${other.getClass.getName}"))
}
)
implicit def ordering(implicit O0: Ordering[UUID]): Ordering[TypoUUID] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoUUID] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoUUID] = new ParameterMetaData[TypoUUID] {
override def sqlType: String = "uuid"
override def jdbcType: Int = Types.OTHER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ import scala.annotation.nowarn
import scala.util.Random

class ProductTest extends AnyFunSuite with TypeCheckedTripleEquals {
// for scala 2.12
implicit val `Ordering[LocalDateTime]` : Ordering[LocalDateTime] = (x: LocalDateTime, y: LocalDateTime) => x.compareTo(y)

val personDynamicSqlRepo = new PersonDynamicSqlRepoImpl

test("flaf") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ object TypoInstant {
implicit lazy val encoder: Encoder[TypoInstant] = Encoder.encodeInstant.contramap(_.value)
implicit lazy val get: Get[TypoInstant] = Get.Advanced.other[String](NonEmptyList.one("timestamptz"))
.map(v => TypoInstant(v))
implicit def ordering(implicit O0: Ordering[Instant]): Ordering[TypoInstant] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoInstant] = Ordering.by(_.value)
implicit lazy val put: Put[TypoInstant] = Put.Advanced.other[String](NonEmptyList.one("timestamptz")).contramap(v => v.value.toString)
implicit lazy val text: Text[TypoInstant] = new Text[TypoInstant] {
override def unsafeEncode(v: TypoInstant, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value.toString, sb)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ object TypoLocalDate {
implicit lazy val encoder: Encoder[TypoLocalDate] = Encoder.encodeLocalDate.contramap(_.value)
implicit lazy val get: Get[TypoLocalDate] = Get.Advanced.other[String](NonEmptyList.one("date"))
.map(v => TypoLocalDate(LocalDate.parse(v)))
implicit def ordering(implicit O0: Ordering[LocalDate]): Ordering[TypoLocalDate] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalDate] = Ordering.by(_.value)
implicit lazy val put: Put[TypoLocalDate] = Put.Advanced.other[String](NonEmptyList.one("date")).contramap(v => v.value.toString)
implicit lazy val text: Text[TypoLocalDate] = new Text[TypoLocalDate] {
override def unsafeEncode(v: TypoLocalDate, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value.toString, sb)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ object TypoLocalDateTime {
implicit lazy val encoder: Encoder[TypoLocalDateTime] = Encoder.encodeLocalDateTime.contramap(_.value)
implicit lazy val get: Get[TypoLocalDateTime] = Get.Advanced.other[String](NonEmptyList.one("timestamp"))
.map(v => TypoLocalDateTime(LocalDateTime.parse(v, parser)))
implicit def ordering(implicit O0: Ordering[LocalDateTime]): Ordering[TypoLocalDateTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalDateTime] = Ordering.by(_.value)
implicit lazy val put: Put[TypoLocalDateTime] = Put.Advanced.other[String](NonEmptyList.one("timestamp")).contramap(v => v.value.toString)
implicit lazy val text: Text[TypoLocalDateTime] = new Text[TypoLocalDateTime] {
override def unsafeEncode(v: TypoLocalDateTime, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value.toString, sb)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ object TypoLocalTime {
implicit lazy val encoder: Encoder[TypoLocalTime] = Encoder.encodeLocalTime.contramap(_.value)
implicit lazy val get: Get[TypoLocalTime] = Get.Advanced.other[String](NonEmptyList.one("time"))
.map(v => TypoLocalTime(LocalTime.parse(v)))
implicit def ordering(implicit O0: Ordering[LocalTime]): Ordering[TypoLocalTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalTime] = Ordering.by(_.value)
implicit lazy val put: Put[TypoLocalTime] = Put.Advanced.other[String](NonEmptyList.one("time")).contramap(v => v.value.toString)
implicit lazy val text: Text[TypoLocalTime] = new Text[TypoLocalTime] {
override def unsafeEncode(v: TypoLocalTime, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value.toString, sb)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ object TypoOffsetTime {
implicit lazy val encoder: Encoder[TypoOffsetTime] = Encoder.encodeOffsetTime.contramap(_.value)
implicit lazy val get: Get[TypoOffsetTime] = Get.Advanced.other[String](NonEmptyList.one("timetz"))
.map(v => TypoOffsetTime(OffsetTime.parse(v, parser)))
implicit def ordering(implicit O0: Ordering[OffsetTime]): Ordering[TypoOffsetTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoOffsetTime] = Ordering.by(_.value)
implicit lazy val put: Put[TypoOffsetTime] = Put.Advanced.other[String](NonEmptyList.one("timetz")).contramap(v => v.value.toString)
implicit lazy val text: Text[TypoOffsetTime] = new Text[TypoOffsetTime] {
override def unsafeEncode(v: TypoOffsetTime, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value.toString, sb)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ object TypoShort {
override def times(x: TypoShort, y: TypoShort): TypoShort = TypoShort((x.value * y.value).toShort)
override def negate(x: TypoShort): TypoShort = TypoShort((-x.value).toShort)
override def fromInt(x: Int): TypoShort = TypoShort(x.toShort)
override def toInt(x: TypoShort): Int = x.toInt
override def toLong(x: TypoShort): Long = x.toLong
override def toFloat(x: TypoShort): Float = x.toFloat
override def toDouble(x: TypoShort): Double = x.toDouble
def parseString(str: String): Option[TypoShort] = (str, Option.empty[TypoShort])._2 // sorry mac, this was too much trouble to implement for 2.12
override def toInt(x: TypoShort): Int = x.value.toInt
override def toLong(x: TypoShort): Long = x.value.toLong
override def toFloat(x: TypoShort): Float = x.value.toFloat
override def toDouble(x: TypoShort): Double = x.value.toDouble
def parseString(str: String): Option[TypoShort] = str.toShortOption.map(TypoShort.apply)
}
implicit lazy val arrayGet: Get[Array[TypoShort]] = Get.Advanced.array[AnyRef](NonEmptyList.one("_int2"))
.map(_.map(v => TypoShort(v.asInstanceOf[java.lang.Short])))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ object TypoUUID {
implicit lazy val encoder: Encoder[TypoUUID] = Encoder.encodeUUID.contramap(_.value)
implicit lazy val get: Get[TypoUUID] = Get.Advanced.other[UUID](NonEmptyList.one("uuid"))
.map(v => TypoUUID(v))
implicit def ordering(implicit O0: Ordering[UUID]): Ordering[TypoUUID] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoUUID] = Ordering.by(_.value)
implicit lazy val put: Put[TypoUUID] = Put.Advanced.other[UUID](NonEmptyList.one("uuid")).contramap(v => v.value)
implicit lazy val text: Text[TypoUUID] = new Text[TypoUUID] {
override def unsafeEncode(v: TypoUUID, sb: StringBuilder) = Text.stringInstance.unsafeEncode(v.value.toString, sb)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import adventureworks.public.Name
import cats.syntax.applicative.*
import cats.syntax.traverse.*
import doobie.ConnectionIO
import doobie.free.connection.WeakAsyncConnectionIO // necessary for 2.12

case class PersonWithAddresses(person: PersonRow, addresses: Map[Name, AddressRow])

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ import org.scalatest.funsuite.AnyFunSuite
import java.time.LocalDateTime

class ProductTest extends AnyFunSuite with TypeCheckedTripleEquals {
// for scala 2.12
implicit val `Ordering[LocalDateTime]` : Ordering[LocalDateTime] = (x: LocalDateTime, y: LocalDateTime) => x.compareTo(y)

def runTest(
productRepo: ProductRepo,
projectModelRepo: ProductmodelRepo,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ object TypoInstant {
implicit lazy val jdbcEncoder: JdbcEncoder[TypoInstant] = JdbcEncoder.singleParamEncoder(using setter)
implicit lazy val jsonDecoder: JsonDecoder[TypoInstant] = JsonDecoder.instant.map(TypoInstant.apply)
implicit lazy val jsonEncoder: JsonEncoder[TypoInstant] = JsonEncoder.instant.contramap(_.value)
implicit def ordering(implicit O0: Ordering[Instant]): Ordering[TypoInstant] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoInstant] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoInstant] = ParameterMetaData.instance[TypoInstant]("timestamptz", Types.OTHER)
implicit lazy val setter: Setter[TypoInstant] = Setter.other(
(ps, i, v) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ object TypoLocalDate {
implicit lazy val jdbcEncoder: JdbcEncoder[TypoLocalDate] = JdbcEncoder.singleParamEncoder(using setter)
implicit lazy val jsonDecoder: JsonDecoder[TypoLocalDate] = JsonDecoder.localDate.map(TypoLocalDate.apply)
implicit lazy val jsonEncoder: JsonEncoder[TypoLocalDate] = JsonEncoder.localDate.contramap(_.value)
implicit def ordering(implicit O0: Ordering[LocalDate]): Ordering[TypoLocalDate] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalDate] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalDate] = ParameterMetaData.instance[TypoLocalDate]("date", Types.OTHER)
implicit lazy val setter: Setter[TypoLocalDate] = Setter.other(
(ps, i, v) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ object TypoLocalDateTime {
implicit lazy val jdbcEncoder: JdbcEncoder[TypoLocalDateTime] = JdbcEncoder.singleParamEncoder(using setter)
implicit lazy val jsonDecoder: JsonDecoder[TypoLocalDateTime] = JsonDecoder.localDateTime.map(TypoLocalDateTime.apply)
implicit lazy val jsonEncoder: JsonEncoder[TypoLocalDateTime] = JsonEncoder.localDateTime.contramap(_.value)
implicit def ordering(implicit O0: Ordering[LocalDateTime]): Ordering[TypoLocalDateTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalDateTime] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalDateTime] = ParameterMetaData.instance[TypoLocalDateTime]("timestamp", Types.OTHER)
implicit lazy val setter: Setter[TypoLocalDateTime] = Setter.other(
(ps, i, v) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ object TypoLocalTime {
implicit lazy val jdbcEncoder: JdbcEncoder[TypoLocalTime] = JdbcEncoder.singleParamEncoder(using setter)
implicit lazy val jsonDecoder: JsonDecoder[TypoLocalTime] = JsonDecoder.localTime.map(TypoLocalTime.apply)
implicit lazy val jsonEncoder: JsonEncoder[TypoLocalTime] = JsonEncoder.localTime.contramap(_.value)
implicit def ordering(implicit O0: Ordering[LocalTime]): Ordering[TypoLocalTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoLocalTime] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoLocalTime] = ParameterMetaData.instance[TypoLocalTime]("time", Types.OTHER)
implicit lazy val setter: Setter[TypoLocalTime] = Setter.other(
(ps, i, v) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ object TypoOffsetTime {
implicit lazy val jdbcEncoder: JdbcEncoder[TypoOffsetTime] = JdbcEncoder.singleParamEncoder(using setter)
implicit lazy val jsonDecoder: JsonDecoder[TypoOffsetTime] = JsonDecoder.offsetTime.map(TypoOffsetTime.apply)
implicit lazy val jsonEncoder: JsonEncoder[TypoOffsetTime] = JsonEncoder.offsetTime.contramap(_.value)
implicit def ordering(implicit O0: Ordering[OffsetTime]): Ordering[TypoOffsetTime] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoOffsetTime] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoOffsetTime] = ParameterMetaData.instance[TypoOffsetTime]("timetz", Types.OTHER)
implicit lazy val setter: Setter[TypoOffsetTime] = Setter.other(
(ps, i, v) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ object TypoShort {
override def times(x: TypoShort, y: TypoShort): TypoShort = TypoShort((x.value * y.value).toShort)
override def negate(x: TypoShort): TypoShort = TypoShort((-x.value).toShort)
override def fromInt(x: Int): TypoShort = TypoShort(x.toShort)
override def toInt(x: TypoShort): Int = x.toInt
override def toLong(x: TypoShort): Long = x.toLong
override def toFloat(x: TypoShort): Float = x.toFloat
override def toDouble(x: TypoShort): Double = x.toDouble
def parseString(str: String): Option[TypoShort] = (str, Option.empty[TypoShort])._2 // sorry mac, this was too much trouble to implement for 2.12
override def toInt(x: TypoShort): Int = x.value.toInt
override def toLong(x: TypoShort): Long = x.value.toLong
override def toFloat(x: TypoShort): Float = x.value.toFloat
override def toDouble(x: TypoShort): Double = x.value.toDouble
def parseString(str: String): Option[TypoShort] = str.toShortOption.map(TypoShort.apply)
}
implicit lazy val arrayJdbcDecoder: JdbcDecoder[Array[TypoShort]] = JdbcDecoder[Array[TypoShort]]((rs: ResultSet) => (i: Int) =>
rs.getArray(i) match {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ object TypoUUID {
implicit lazy val jdbcEncoder: JdbcEncoder[TypoUUID] = JdbcEncoder.singleParamEncoder(using setter)
implicit lazy val jsonDecoder: JsonDecoder[TypoUUID] = JsonDecoder.uuid.map(TypoUUID.apply)
implicit lazy val jsonEncoder: JsonEncoder[TypoUUID] = JsonEncoder.uuid.contramap(_.value)
implicit def ordering(implicit O0: Ordering[UUID]): Ordering[TypoUUID] = Ordering.by(_.value)
implicit lazy val ordering: Ordering[TypoUUID] = Ordering.by(_.value)
implicit lazy val parameterMetadata: ParameterMetaData[TypoUUID] = ParameterMetaData.instance[TypoUUID]("uuid", Types.OTHER)
implicit lazy val setter: Setter[TypoUUID] = Setter.other(
(ps, i, v) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import adventureworks.person.person.*
import adventureworks.public.Name
import zio.{Chunk, ZIO}
import zio.jdbc.ZConnection
import zio.prelude.ForEachOps // necessary for 2.12
import zio.prelude.ForEachOps

case class PersonWithAddresses(person: PersonRow, addresses: Map[Name, AddressRow])

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ import zio.{Chunk, ZIO}
import java.time.LocalDateTime

class ProductTest extends AnyFunSuite with TypeCheckedTripleEquals {
// for scala 2.12
implicit val `Ordering[LocalDateTime]` : Ordering[LocalDateTime] = (x: LocalDateTime, y: LocalDateTime) => x.compareTo(y)

def runTest(
productRepo: ProductRepo,
projectModelRepo: ProductmodelRepo,
Expand Down
3 changes: 1 addition & 2 deletions typo/src/scala/typo/ProjectGraph.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package typo

import java.nio.file.Path
import typo.internal.compat.*

/** this can be used to separate generated source in groups, typically because you want to put them in different projects in your build.
*
Expand All @@ -11,7 +10,7 @@ import typo.internal.compat.*
*/
final case class ProjectGraph[T, S](name: String, target: Path, value: T, scripts: S, downstream: List[ProjectGraph[T, S]]) {
def toList: List[ProjectGraph[T, S]] =
(this :: downstream.flatMap(_.toList)).distinctByCompat(_.target)
(this :: downstream.flatMap(_.toList)).distinctBy(_.target)

def valueFromProject[TT, SS](f: ProjectGraph[T, S] => (TT, SS)): ProjectGraph[TT, SS] = {
val (tt, ss) = f(this)
Expand Down
Loading

0 comments on commit b00a33f

Please sign in to comment.