Skip to content

Commit 5ca624d

Browse files
authored
Move codebase to scala 3 (#1430)
* update scala to 3.4.2 + syntax changes * Convert config to ciris, remove pureconfig
1 parent 0476662 commit 5ca624d

File tree

134 files changed

+1113
-808
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+1113
-808
lines changed

.scalafix.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
rules = [
2-
ProcedureSyntax
32
OrganizeImports
43
]
54
OrganizeImports {
@@ -10,4 +9,5 @@ OrganizeImports {
109
groups = ["re:javax?\\.", "scala.", "re:(cats|fs2)\\.", "sharry.", "*"]
1110
importSelectorsOrder = Ascii
1211
removeUnused = true
12+
targetDialect = Scala3
1313
}

.scalafmt.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version = "3.8.1"
22

33
preset = default
4-
runner.dialect = scala213source3
4+
runner.dialect = scala3
55
align.preset = some
66

77
maxColumn = 90

build.sbt

+8-14
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ val scalafixSettings = Seq(
1313

1414
val sharedSettings = Seq(
1515
organization := "com.github.eikek",
16-
scalaVersion := "2.13.14",
16+
scalaVersion := "3.4.2",
1717
scalacOptions ++= Seq(
1818
"-deprecation",
1919
"-encoding",
@@ -22,12 +22,10 @@ val sharedSettings = Seq(
2222
"-feature",
2323
"-Werror", // fail when there are warnings
2424
"-unchecked",
25-
// remove -byname-implicit, once https://github.com/scala/bug/issues/12072 is resolved
26-
"-Xlint:-byname-implicit,_",
27-
"-Wdead-code",
28-
"-Wunused",
29-
"-Wvalue-discard",
30-
"-Wnumeric-widen"
25+
"-Wunused:imports",
26+
"-Wunused:locals",
27+
"-Wunused:explicits",
28+
"-Wvalue-discard"
3129
),
3230
Compile / console / scalacOptions := Seq(),
3331
Test / console / scalacOptions := Seq()
@@ -124,7 +122,6 @@ val loggingApi = project
124122
.settings(testSettingsMUnit)
125123
.settings(
126124
name := "sharry-logging-api",
127-
addCompilerPlugin(Dependencies.kindProjectorPlugin),
128125
libraryDependencies ++=
129126
Dependencies.circeCore ++
130127
Dependencies.fs2 ++
@@ -141,8 +138,7 @@ val common = project
141138
libraryDependencies ++=
142139
Dependencies.fs2 ++
143140
Dependencies.fs2io ++
144-
Dependencies.circe ++
145-
Dependencies.pureconfig
141+
Dependencies.circe
146142
)
147143

148144
val loggingScribe = project
@@ -152,7 +148,6 @@ val loggingScribe = project
152148
.settings(testSettingsMUnit)
153149
.settings(
154150
name := "sharry-logging-scribe",
155-
addCompilerPlugin(Dependencies.kindProjectorPlugin),
156151
libraryDependencies ++=
157152
Dependencies.scribe ++
158153
Dependencies.circeCore ++
@@ -284,11 +279,10 @@ val restserver = project
284279
Dependencies.http4s ++
285280
Dependencies.http4sclient ++
286281
Dependencies.circe ++
287-
Dependencies.pureconfig ++
282+
Dependencies.typesafeConfig ++
283+
Dependencies.ciris ++
288284
Dependencies.yamusca ++
289285
Dependencies.webjars,
290-
addCompilerPlugin(Dependencies.kindProjectorPlugin),
291-
addCompilerPlugin(Dependencies.betterMonadicFor),
292286
buildInfoPackage := "sharry.restserver",
293287
reStart / javaOptions ++=
294288
Seq(

flake.nix

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
SHARRY_BACKEND_MAIL_SMTP_PORT = "25";
7373
SHARRY_BACKEND_MAIL_SMTP_USER = "admin";
7474
SHARRY_BACKEND_MAIL_SMTP_PASSWORD = "admin";
75-
SHARRY_BACKEND_MAIL_SMTP_SSL__TYPE = "none";
75+
SHARRY_BACKEND_MAIL_SMTP_SSL_TYPE = "none";
7676
};
7777

7878
dev-vm = pkgs.mkShellNoCC {
@@ -91,7 +91,7 @@
9191
SHARRY_BACKEND_MAIL_SMTP_PORT = "10025";
9292
SHARRY_BACKEND_MAIL_SMTP_USER = "admin";
9393
SHARRY_BACKEND_MAIL_SMTP_PASSWORD = "admin";
94-
SHARRY_BACKEND_MAIL_SMTP_SSL__TYPE = "none";
94+
SHARRY_BACKEND_MAIL_SMTP_SSL_TYPE = "none";
9595
};
9696
ci = pkgs.mkShellNoCC {
9797
buildInputs = ciPkgs;

modules/backend/src/main/scala/sharry/backend/BackendApp.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ package sharry.backend
22

33
import scala.concurrent.ExecutionContext
44

5-
import cats.effect._
5+
import cats.effect.*
66
import fs2.io.file.Files
77

8-
import sharry.backend.account._
8+
import sharry.backend.account.*
99
import sharry.backend.alias.OAlias
1010
import sharry.backend.auth.Login
1111
import sharry.backend.config.Config

modules/backend/src/main/scala/sharry/backend/account/NewAccount.scala

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package sharry.backend.account
22

33
import cats.effect.Sync
4-
import cats.implicits._
4+
import cats.implicits.*
55

6-
import sharry.common._
6+
import sharry.common.*
77

88
case class NewAccount(
99
id: Ident,

modules/backend/src/main/scala/sharry/backend/account/OAccount.scala

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
package sharry.backend.account
22

33
import cats.data.OptionT
4-
import cats.effect._
5-
import cats.implicits._
4+
import cats.effect.*
5+
import cats.implicits.*
66
import fs2.Stream
77

88
import sharry.backend.PasswordCrypt
9-
import sharry.backend.share.{Queries => ShareQueries}
10-
import sharry.common._
9+
import sharry.backend.share.Queries as ShareQueries
10+
import sharry.common.*
1111
import sharry.store.AddResult
1212
import sharry.store.Store
13-
import sharry.store.records._
13+
import sharry.store.records.*
1414

15-
import doobie._
15+
import doobie.*
1616

1717
trait OAccount[F[_]] {
1818

@@ -45,7 +45,7 @@ object OAccount {
4545

4646
def apply[F[_]: Async](store: Store[F]): Resource[F, OAccount[F]] =
4747
Resource.pure[F, OAccount[F]](new OAccount[F] {
48-
private[this] val logger = sharry.logging.getLogger[F]
48+
private val logger = sharry.logging.getLogger[F]
4949

5050
def changePassword(id: Ident, oldPw: Password, newPw: Password): F[AddResult] = {
5151
val update =

modules/backend/src/main/scala/sharry/backend/account/Queries.scala

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ package sharry.backend.account
22

33
import fs2.Stream
44

5-
import sharry.common._
6-
import sharry.store.doobie.DoobieMeta._
7-
import sharry.store.doobie._
8-
import sharry.store.records._
5+
import sharry.common.*
6+
import sharry.store.doobie.*
7+
import sharry.store.doobie.DoobieMeta.*
8+
import sharry.store.records.*
99

10-
import doobie._
11-
import doobie.implicits._
10+
import doobie.*
11+
import doobie.implicits.*
1212

1313
object Queries {
1414

modules/backend/src/main/scala/sharry/backend/alias/OAlias.scala

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
package sharry.backend.alias
22

33
import cats.data.OptionT
4-
import cats.effect._
5-
import cats.implicits._
4+
import cats.effect.*
5+
import cats.implicits.*
66
import fs2.Stream
77

88
import sharry.backend.alias.OAlias.{AliasDetail, AliasInput}
9-
import sharry.common._
9+
import sharry.common.*
1010
import sharry.store.AddResult
1111
import sharry.store.Store
1212
import sharry.store.records.RAlias
1313
import sharry.store.records.RAliasMember
1414

15-
import doobie._
15+
import doobie.*
1616

1717
trait OAlias[F[_]] {
1818

@@ -40,7 +40,7 @@ object OAlias {
4040

4141
def apply[F[_]: Async](store: Store[F]): Resource[F, OAlias[F]] =
4242
Resource.pure[F, OAlias[F]](new OAlias[F] {
43-
private[this] val logger = sharry.logging.getLogger[F]
43+
private val logger = sharry.logging.getLogger[F]
4444

4545
def create(detail: AliasInput): F[AddResult] =
4646
store.add(

modules/backend/src/main/scala/sharry/backend/auth/AddAccount.scala

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package sharry.backend.auth
22

33
import cats.data.Kleisli
4-
import cats.effect._
5-
import cats.implicits._
4+
import cats.effect.*
5+
import cats.implicits.*
66

77
import sharry.backend.account.{NewAccount, OAccount}
8-
import sharry.common._
8+
import sharry.common.*
99
import sharry.store.records.RAccount
1010

1111
object AddAccount {

modules/backend/src/main/scala/sharry/backend/auth/AuthConfig.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package sharry.backend.auth
2-
import sharry.common._
2+
import sharry.common.*
33

44
import scodec.bits.ByteVector
55

modules/backend/src/main/scala/sharry/backend/auth/AuthToken.scala

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ package sharry.backend.auth
22

33
import java.time.Instant
44

5-
import cats.effect._
6-
import cats.implicits._
5+
import cats.effect.*
6+
import cats.implicits.*
77

88
import sharry.backend.Common
9-
import sharry.backend.auth.AuthToken._
9+
import sharry.backend.auth.AuthToken.*
1010
import sharry.common.util.SignUtil
1111
import sharry.common.{AccountId, Duration}
1212

modules/backend/src/main/scala/sharry/backend/auth/CommandAuth.scala

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
package sharry.backend.auth
22

3-
import scala.sys.process._
3+
import scala.sys.process.*
44

55
import cats.data.Kleisli
6-
import cats.effect._
7-
import cats.implicits._
6+
import cats.effect.*
7+
import cats.implicits.*
88

9-
import sharry.common._
9+
import sharry.common.*
1010

11-
import yamusca.implicits._
12-
import yamusca.imports._
11+
import yamusca.implicits.*
12+
import yamusca.imports.*
1313

1414
final class CommandAuth[F[_]: Async](
1515
cfg: AuthConfig,
1616
ops: AddAccount.AccountOps[F],
1717
runner: CommandAuth.RunCommand[F]
1818
) {
19-
private[this] val logger = sharry.logging.getLogger[F]
19+
private val logger = sharry.logging.getLogger[F]
2020

2121
def login: LoginModule[F] =
2222
LoginModule.whenEnabled(cfg.command.enabled)(
@@ -69,7 +69,7 @@ object CommandAuth {
6969

7070
def systemProcess[F[_]: Sync]: RunCommand[F] =
7171
new RunCommand[F] {
72-
private[this] val logger = sharry.logging.getLogger[F]
72+
private val logger = sharry.logging.getLogger[F]
7373

7474
def exec(up: UserPassData, cfg: AuthConfig.Command): F[Boolean] =
7575
Sync[F].delay {

modules/backend/src/main/scala/sharry/backend/auth/FixedAuth.scala

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package sharry.backend.auth
22

3-
import cats.effect._
4-
import cats.implicits._
3+
import cats.effect.*
4+
import cats.implicits.*
55

6-
import sharry.backend.account._
7-
import sharry.common._
6+
import sharry.backend.account.*
7+
import sharry.common.*
88

99
/** Provides authentication from the configuration.
1010
*
@@ -17,7 +17,7 @@ import sharry.common._
1717
*/
1818
final class FixedAuth[F[_]: Async](cfg: AuthConfig, op: OAccount[F]) {
1919

20-
private[this] val logger = sharry.logging.getLogger[F]
20+
private val logger = sharry.logging.getLogger[F]
2121

2222
def login: LoginModule[F] =
2323
LoginModule { up =>

modules/backend/src/main/scala/sharry/backend/auth/HttpAuth.scala

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ package sharry.backend.auth
33
import java.nio.charset.StandardCharsets
44

55
import cats.data.Kleisli
6-
import cats.effect._
7-
import cats.implicits._
6+
import cats.effect.*
7+
import cats.implicits.*
88

9-
import sharry.common._
9+
import sharry.common.*
1010

11-
import yamusca.implicits._
12-
import yamusca.imports._
11+
import yamusca.implicits.*
12+
import yamusca.imports.*
1313

1414
final class HttpAuth[F[_]: Async](
1515
cfg: AuthConfig,
1616
ops: AddAccount.AccountOps[F],
1717
runner: HttpAuth.RunRequest[F]
1818
) {
1919

20-
private[this] val logger = sharry.logging.getLogger[F]
20+
private val logger = sharry.logging.getLogger[F]
2121

2222
def login: LoginModule[F] =
2323
LoginModule.whenEnabled(cfg.http.enabled)(

modules/backend/src/main/scala/sharry/backend/auth/HttpBasicAuth.scala

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
package sharry.backend.auth
22

33
import java.nio.charset.StandardCharsets
4-
import java.{util => ju}
4+
import java.util as ju
55

66
import cats.data.Kleisli
7-
import cats.effect._
8-
import cats.implicits._
7+
import cats.effect.*
8+
import cats.implicits.*
99

10-
import sharry.common._
10+
import sharry.common.*
1111

1212
final class HttpBasicAuth[F[_]: Async](
1313
cfg: AuthConfig,
1414
ops: AddAccount.AccountOps[F],
1515
runner: HttpBasicAuth.RunRequest[F]
1616
) {
1717

18-
private[this] val logger = sharry.logging.getLogger[F]
18+
private val logger = sharry.logging.getLogger[F]
1919

2020
def login: LoginModule[F] =
2121
LoginModule.whenEnabled(cfg.httpBasic.enabled)(

modules/backend/src/main/scala/sharry/backend/auth/InternalAuth.scala

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
package sharry.backend.auth
22

33
import cats.data.Kleisli
4-
import cats.effect._
5-
import cats.implicits._
4+
import cats.effect.*
5+
import cats.implicits.*
66

77
import sharry.backend.PasswordCrypt
88
import sharry.backend.account.OAccount
9-
import sharry.common._
9+
import sharry.common.*
1010
import sharry.store.records.RAccount
1111

1212
final class InternalAuth[F[_]: Async](cfg: AuthConfig, op: OAccount[F]) {
1313

14-
private[this] val logger = sharry.logging.getLogger[F]
14+
private val logger = sharry.logging.getLogger[F]
1515

1616
def login: LoginModule[F] =
1717
LoginModule.enabledState(cfg.internal.enabled, op, AccountSource.intern)(

0 commit comments

Comments
 (0)