Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update scalafmt to scala new syntax #151

Merged
merged 3 commits into from
Dec 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 9 additions & 18 deletions .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
version = 3.6.1
project.git = true # only format files tracked by git
maxColumn = 120
runner.dialect = scala3
align.openParenCallSite = false
align.openParenDefnSite = false
# setting 'align = more' tokens explicitly to work with other align options
align.tokens = [
{code = "=", owner = "(Enumerator.Val|Defn.(Va(l|r)|Def|Type))"},
{code = "{", owner = "Template"},
{code = "}", owner = "Template"},
{code = "->", owner = "Term.ApplyInfix"},
{code = "<-", owner = "Enumerator.Generator"},
{code = "=>", owner = "Case"},
{code = "%", owner = "Term.ApplyInfix"},
{code = "%%", owner = "Term.ApplyInfix"},
{code = "%%%", owner = "Term.ApplyInfix"}
]
project.git = true
maxColumn = 120
align.preset=most
assumeStandardLibraryStripMargin = true
rewrite.rules = [
PreferCurlyFors,
SortImports
]
SortModifiers,
Imports
]
rewrite.imports.sort = scalastyle
rewrite.scala3.convertToNewSyntax = true
rewrite.scala3.removeOptionalBraces = true
3 changes: 3 additions & 0 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import org.scalafmt.sbt.ScalafmtPlugin

import scala.annotation.nowarn

// General info
Expand All @@ -15,6 +17,7 @@ ThisBuild / githubWorkflowPublishTargetBranches := Seq.empty

lazy val commonSettings = Defaults.itSettings ++
headerSettings(Configurations.IntegrationTest) ++
inConfig(IntegrationTest)(ScalafmtPlugin.scalafmtConfigSettings) ++
Seq(
organization := "fr.davit",
organizationName := "Michel Davit",
Expand Down
8 changes: 4 additions & 4 deletions fs2/src/it/scala/fr/davit/taxonomy/fs2/DnsClientItSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@

package fr.davit.taxonomy.fs2

import cats.effect._
import com.comcast.ip4s.{Dns => _}
import cats.effect.*
import com.comcast.ip4s.Dns as _
import fr.davit.taxonomy.model.record.{DnsARecordData, DnsRecordClass, DnsRecordType, DnsResourceRecord}
import fr.davit.taxonomy.model.{DnsMessage, DnsPacket, DnsQuestion, DnsType}
import fr.davit.taxonomy.scodec.DnsCodec
Expand All @@ -26,7 +26,7 @@ import munit.CatsEffectSuite
import scodec.Codec

import java.net.{Inet4Address, InetAddress, InetSocketAddress}
import scala.concurrent.duration._
import scala.concurrent.duration.*

class DnsClientItSpec extends CatsEffectSuite:

Expand All @@ -40,7 +40,7 @@ class DnsClientItSpec extends CatsEffectSuite:
val socketResource = Network[IO].openDatagramSocket()
val response = socketResource.use(s => Dns.resolve(s, DnsPacket(quad9DnsServer, query)))

val ip = InetAddress.getByName("217.70.184.38").asInstanceOf[Inet4Address]
val ip = InetAddress.getByName("217.70.184.38").asInstanceOf[Inet4Address]
val message = DnsMessage(
query.header.copy(`type` = DnsType.Response, isRecursionAvailable = true),
query.questions,
Expand Down
10 changes: 5 additions & 5 deletions fs2/src/main/scala/fr/davit/taxonomy/fs2/Dns.scala
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ object Dns:
packet: DnsPacket
)(using codec: Codec[DnsMessage]): F[DnsPacket] =
for
data <- Sync[F].delay(codec.encode(packet.message).require)
address = SocketAddress.fromInetSocketAddress(packet.address)
data <- Sync[F].delay(codec.encode(packet.message).require)
address = SocketAddress.fromInetSocketAddress(packet.address)
_ <- socket.write(Datagram(address, Chunk.byteVector(data.toByteVector)))
response <- socket.read
message <- Sync[F].delay(codec.decode(response.bytes.toByteVector.toBitVector).require.value)
Expand All @@ -59,7 +59,7 @@ object Dns:
)(using codec: Codec[DnsMessage]): Stream[F, DnsPacket] =
for
datagram <- socket.reads
message <- Stream
.chunk(datagram.bytes)
.through(StreamDecoder.once(codec).toPipeByte[F])
message <- Stream
.chunk(datagram.bytes)
.through(StreamDecoder.once(codec).toPipeByte[F])
yield DnsPacket(datagram.remote.toInetSocketAddress, message)
38 changes: 19 additions & 19 deletions model/src/main/scala/fr/davit/taxonomy/model/DnsHeader.scala
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ final case class DnsHeader(
)

enum DnsType(val code: Int):
case Query extends DnsType(0)
case Query extends DnsType(0)
case Response extends DnsType(1)

object DnsType:
Expand All @@ -40,12 +40,12 @@ object DnsType:
case _ => throw new IllegalArgumentException(s"Invalid dns type $code")

enum DnsOpCode(val code: Int):
case StandardQuery extends DnsOpCode(0)
case InverseQuery extends DnsOpCode(1)
case ServerStatusRequest extends DnsOpCode(2)
case Notify extends DnsOpCode(4)
case Update extends DnsOpCode(5)
case DnsStatefulOperations extends DnsOpCode(6)
case StandardQuery extends DnsOpCode(0)
case InverseQuery extends DnsOpCode(1)
case ServerStatusRequest extends DnsOpCode(2)
case Notify extends DnsOpCode(4)
case Update extends DnsOpCode(5)
case DnsStatefulOperations extends DnsOpCode(6)
case Unassigned(value: Int) extends DnsOpCode(value)

object DnsOpCode:
Expand All @@ -60,18 +60,18 @@ object DnsOpCode:
case _ => throw new IllegalArgumentException(s"Invalid dns op code $code")

enum DnsResponseCode(val code: Int):
case Success extends DnsResponseCode(0)
case FormatError extends DnsResponseCode(1)
case ServerFailure extends DnsResponseCode(2)
case NonExistentDomain extends DnsResponseCode(3)
case NotImplemented extends DnsResponseCode(4)
case Refused extends DnsResponseCode(5)
case ExtraDomain extends DnsResponseCode(6)
case ExtraRRSet extends DnsResponseCode(7)
case NonExistentRRSet extends DnsResponseCode(8)
case NotAuth extends DnsResponseCode(9)
case NotZone extends DnsResponseCode(10)
case DsoTypeNotImplemented extends DnsResponseCode(11)
case Success extends DnsResponseCode(0)
case FormatError extends DnsResponseCode(1)
case ServerFailure extends DnsResponseCode(2)
case NonExistentDomain extends DnsResponseCode(3)
case NotImplemented extends DnsResponseCode(4)
case Refused extends DnsResponseCode(5)
case ExtraDomain extends DnsResponseCode(6)
case ExtraRRSet extends DnsResponseCode(7)
case NonExistentRRSet extends DnsResponseCode(8)
case NotAuth extends DnsResponseCode(9)
case NotZone extends DnsResponseCode(10)
case DsoTypeNotImplemented extends DnsResponseCode(11)
case Unassigned(value: Int) extends DnsResponseCode(value)

object DnsResponseCode:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,86 +17,86 @@
package fr.davit.taxonomy.model.record

enum DnsRecordType(val code: Int):
case A extends DnsRecordType(1)
case NS extends DnsRecordType(2)
case MD extends DnsRecordType(3)
case MF extends DnsRecordType(4)
case CNAME extends DnsRecordType(5)
case SOA extends DnsRecordType(6)
case MB extends DnsRecordType(7)
case MG extends DnsRecordType(8)
case MR extends DnsRecordType(9)
case NULL extends DnsRecordType(10)
case WKS extends DnsRecordType(11)
case PTR extends DnsRecordType(12)
case HINFO extends DnsRecordType(13)
case MINFO extends DnsRecordType(14)
case MX extends DnsRecordType(15)
case TXT extends DnsRecordType(16)
case RP extends DnsRecordType(17)
case AFSDB extends DnsRecordType(18)
case X25 extends DnsRecordType(19)
case ISDN extends DnsRecordType(20)
case RT extends DnsRecordType(21)
case NSAP extends DnsRecordType(22)
case `NSAP-PTR` extends DnsRecordType(23)
case SIG extends DnsRecordType(24)
case KEY extends DnsRecordType(25)
case PX extends DnsRecordType(26)
case GPOS extends DnsRecordType(27)
case AAAA extends DnsRecordType(28)
case LOC extends DnsRecordType(29)
case NXT extends DnsRecordType(30)
case EID extends DnsRecordType(31)
case NIMLOC extends DnsRecordType(32)
case SRV extends DnsRecordType(33)
case ATMA extends DnsRecordType(34)
case NAPTR extends DnsRecordType(35)
case KX extends DnsRecordType(36)
case CERT extends DnsRecordType(37)
case A6 extends DnsRecordType(38)
case DNAME extends DnsRecordType(39)
case SINK extends DnsRecordType(40)
case OPT extends DnsRecordType(41)
case APL extends DnsRecordType(42)
case DS extends DnsRecordType(43)
case SSHFP extends DnsRecordType(44)
case IPSECKEY extends DnsRecordType(45)
case RRSIG extends DnsRecordType(46)
case NSEC extends DnsRecordType(47)
case DNSKEY extends DnsRecordType(48)
case DHCID extends DnsRecordType(49)
case NSEC3 extends DnsRecordType(50)
case NSEC3PARAM extends DnsRecordType(51)
case TLSA extends DnsRecordType(52)
case SMIMEA extends DnsRecordType(53)
case HIP extends DnsRecordType(55)
case NINFO extends DnsRecordType(56)
case RKEY extends DnsRecordType(57)
case TALINK extends DnsRecordType(58)
case CDS extends DnsRecordType(59)
case CDNSKEY extends DnsRecordType(60)
case OPENPGPKEY extends DnsRecordType(61)
case CSYNC extends DnsRecordType(62)
case ZONEMD extends DnsRecordType(63)
case SPF extends DnsRecordType(99)
case UINFO extends DnsRecordType(100)
case UID extends DnsRecordType(101)
case GID extends DnsRecordType(102)
case UNSPEC extends DnsRecordType(103)
case NID extends DnsRecordType(104)
case L32 extends DnsRecordType(105)
case L64 extends DnsRecordType(106)
case LP extends DnsRecordType(107)
case EUI48 extends DnsRecordType(108)
case EUI64 extends DnsRecordType(109)
case TKEY extends DnsRecordType(249)
case TSIG extends DnsRecordType(250)
case IXFR extends DnsRecordType(251)
case AXFR extends DnsRecordType(252)
case MAILB extends DnsRecordType(253)
case MAILA extends DnsRecordType(254)
case `*` extends DnsRecordType(255)
case A extends DnsRecordType(1)
case NS extends DnsRecordType(2)
case MD extends DnsRecordType(3)
case MF extends DnsRecordType(4)
case CNAME extends DnsRecordType(5)
case SOA extends DnsRecordType(6)
case MB extends DnsRecordType(7)
case MG extends DnsRecordType(8)
case MR extends DnsRecordType(9)
case NULL extends DnsRecordType(10)
case WKS extends DnsRecordType(11)
case PTR extends DnsRecordType(12)
case HINFO extends DnsRecordType(13)
case MINFO extends DnsRecordType(14)
case MX extends DnsRecordType(15)
case TXT extends DnsRecordType(16)
case RP extends DnsRecordType(17)
case AFSDB extends DnsRecordType(18)
case X25 extends DnsRecordType(19)
case ISDN extends DnsRecordType(20)
case RT extends DnsRecordType(21)
case NSAP extends DnsRecordType(22)
case `NSAP-PTR` extends DnsRecordType(23)
case SIG extends DnsRecordType(24)
case KEY extends DnsRecordType(25)
case PX extends DnsRecordType(26)
case GPOS extends DnsRecordType(27)
case AAAA extends DnsRecordType(28)
case LOC extends DnsRecordType(29)
case NXT extends DnsRecordType(30)
case EID extends DnsRecordType(31)
case NIMLOC extends DnsRecordType(32)
case SRV extends DnsRecordType(33)
case ATMA extends DnsRecordType(34)
case NAPTR extends DnsRecordType(35)
case KX extends DnsRecordType(36)
case CERT extends DnsRecordType(37)
case A6 extends DnsRecordType(38)
case DNAME extends DnsRecordType(39)
case SINK extends DnsRecordType(40)
case OPT extends DnsRecordType(41)
case APL extends DnsRecordType(42)
case DS extends DnsRecordType(43)
case SSHFP extends DnsRecordType(44)
case IPSECKEY extends DnsRecordType(45)
case RRSIG extends DnsRecordType(46)
case NSEC extends DnsRecordType(47)
case DNSKEY extends DnsRecordType(48)
case DHCID extends DnsRecordType(49)
case NSEC3 extends DnsRecordType(50)
case NSEC3PARAM extends DnsRecordType(51)
case TLSA extends DnsRecordType(52)
case SMIMEA extends DnsRecordType(53)
case HIP extends DnsRecordType(55)
case NINFO extends DnsRecordType(56)
case RKEY extends DnsRecordType(57)
case TALINK extends DnsRecordType(58)
case CDS extends DnsRecordType(59)
case CDNSKEY extends DnsRecordType(60)
case OPENPGPKEY extends DnsRecordType(61)
case CSYNC extends DnsRecordType(62)
case ZONEMD extends DnsRecordType(63)
case SPF extends DnsRecordType(99)
case UINFO extends DnsRecordType(100)
case UID extends DnsRecordType(101)
case GID extends DnsRecordType(102)
case UNSPEC extends DnsRecordType(103)
case NID extends DnsRecordType(104)
case L32 extends DnsRecordType(105)
case L64 extends DnsRecordType(106)
case LP extends DnsRecordType(107)
case EUI48 extends DnsRecordType(108)
case EUI64 extends DnsRecordType(109)
case TKEY extends DnsRecordType(249)
case TSIG extends DnsRecordType(250)
case IXFR extends DnsRecordType(251)
case AXFR extends DnsRecordType(252)
case MAILB extends DnsRecordType(253)
case MAILA extends DnsRecordType(254)
case `*` extends DnsRecordType(255)
case Unassigned(value: Int) extends DnsRecordType(value)

object DnsRecordType:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ final case class DnsResourceRecord(
)

enum DnsRecordClass(val code: Int):
case Internet extends DnsRecordClass(1)
case Chaos extends DnsRecordClass(3)
case Hesiod extends DnsRecordClass(4)
case None extends DnsRecordClass(234)
case Any extends DnsRecordClass(255)
case Internet extends DnsRecordClass(1)
case Chaos extends DnsRecordClass(3)
case Hesiod extends DnsRecordClass(4)
case None extends DnsRecordClass(234)
case Any extends DnsRecordClass(255)
case Unassigned(value: Int) extends DnsRecordClass(value)

object DnsRecordClass:
Expand Down
24 changes: 12 additions & 12 deletions scodec/src/main/scala/fr/davit/taxonomy/scodec/DnsCodec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@

package fr.davit.taxonomy.scodec

import _root_.scodec.bits._
import _root_.scodec.codecs._
import _root_.scodec.{Attempt, Codec, DecodeResult, Decoder, Err, SizeBound}
import fr.davit.taxonomy.model.record._
import fr.davit.taxonomy.model._
import _root_.scodec.bits.*
import _root_.scodec.codecs.*
import _root_.scodec.{Attempt, Codec, Decoder, DecodeResult, Err, SizeBound}
import fr.davit.taxonomy.model.record.*
import fr.davit.taxonomy.model.*
import scodec.Attempt.{Failure, Successful}

import java.net.{Inet4Address, Inet6Address, InetAddress}
import java.nio.charset.Charset
import scala.collection.mutable
import scala.concurrent.duration._
import scala.concurrent.duration.*

trait DnsCodec:

Expand Down Expand Up @@ -92,8 +92,8 @@ trait DnsCodec:

lazy val dnsNAPTRRecordData: Codec[DnsNAPTRRecordData] =
(uint16 :: uint16 :: characterString :: characterString :: characterString :: domainName).as[DnsNAPTRRecordData]
lazy val dnsNSRecordData: Codec[DnsNSRecordData] = domainName.as[DnsNSRecordData]
lazy val dnsPTRRecordData: Codec[DnsPTRRecordData] = domainName.as[DnsPTRRecordData]
lazy val dnsNSRecordData: Codec[DnsNSRecordData] = domainName.as[DnsNSRecordData]
lazy val dnsPTRRecordData: Codec[DnsPTRRecordData] = domainName.as[DnsPTRRecordData]

lazy val dnsSOARecordData: Codec[DnsSOARecordData] =
(domainName :: domainName :: uint32 :: ttl :: ttl :: ttl :: ttl).as[DnsSOARecordData]
Expand Down Expand Up @@ -172,17 +172,17 @@ class DnsMessageDecoder(bits: BitVector) extends DnsCodec:
.decode(data)
.flatMap { result =>
result.value match
case Right("") =>
case Right("") =>
val remainder = stash.getOrElse(result.remainder)
stash = None
seenPtrs.clear()
Successful(DecodeResult(Nil, remainder))
case Right(label) =>
case Right(label) =>
labels.decode(result.remainder).map(_.map(domain => label :: domain))
case Left(ptr) if seenPtrs.contains(ptr) =>
Failure(Err("Name contains a pointer that loops"))
case Left(ptr) =>
if (stash.isEmpty) stash = Some(result.remainder)
case Left(ptr) =>
if stash.isEmpty then stash = Some(result.remainder)
seenPtrs += ptr
labels.decode(bits.drop(ptr * 8L))
}
Expand Down
Loading