Skip to content

Commit 4791ae2

Browse files
fix: clean dependencies
1 parent c5115c1 commit 4791ae2

11 files changed

+127
-112
lines changed

.gitlab-ci.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
include:
2-
- 'https://colisweb-idl.gitlab.io/colisweb-open-source/ci-common/v15.1.8/templates/scala.yml'
2+
- 'https://colisweb-idl.gitlab.io/colisweb-open-source/ci-common/v16.4.0/templates/scala.yml'
33

44

55
compile scala-distances:
66
extends:
77
- .sbt-compile-cross
88
tags: []
99

10+
unused-dependencies:
11+
extends: .sbt-unused-dependencies
12+
1013
test scala-distances:
1114
extends:
1215
- .sbt-test-cross
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
## Conseils pour l'auteur
2+
3+
- Faire de petites MR (pas plus d'1 ou 2j de travail), merger dans une branche intermédiaire si ça dépasse 2 jours
4+
- Ne pas hésiter à demander un avis sur une MR même si elle n'est pas encore mergeable
5+
- Commencer par soumettre une MR sur le domaine
6+
- Ne pas hésiter à proposer une MR avec du code pas encore appelé
7+
(ex: domaine ou persistence avant API HTTP)
8+
9+
## Checklist pour l'auteur
10+
11+
- [ ] Le titre de la MR est clair
12+
- [ ] Le lien vers la carte Notion est présent
13+
- [ ] Les tests sont clairs et au bon niveau de la pyramide
14+
- [ ] Les changements sont relus
15+
- [ ] Le code est formaté (scalafmt)
16+
- [ ] Le code a été déployé et vérifié sur testing
17+
- [ ] La documentation du README a été mise à jour (C4, BDD)
18+
- [ ] Les [critères d'acceptation des fonctions](https://www.notion.so/colisweb/Nous-mettons-en-place-des-crit-res-d-acceptation-d-une-fonction-Scala-27b4df9e21c2447d929ef71d2d4583e2)
19+
sont respectés
20+
- [ ] Les tests de sérialisation ont été mis à jour si le code des codecs a évolué;
21+
ces tests sont cohérents avec les exemples fournis dans la spéc technique
22+
23+
## Conseils pour le relecteur
24+
25+
- Quand il y a besoin d'explication privilégier le face à face
26+
- Critiquer le code et non la personne qui a codé
27+
28+
## Checklist pour le relecteur
29+
30+
- [ ] Vérifier la compréhension de specs avant de lire le code
31+
- [ ] Vérifier que le code est vraiment compréhensible, sinon risque de mauvaise application/compréhension des specs

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[submodule "scala-common"]
22
path = scala-common
33
url = ../scala-common.git
4-
branch = v3.0.3
4+
branch = v3.3.0

.sbtopts

-4
This file was deleted.

.sbtopts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
scala-common/.sbtopts

build.sbt

+35-32
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import CompileFlags._
22
import sbt.Keys.crossScalaVersions
3+
import DependenciesScopesHandler._
4+
import Dependencies._
35

46
lazy val scala212 = "2.12.13"
57
lazy val scala213 = "2.13.10"
@@ -28,32 +30,16 @@ lazy val root = Project(id = "scala-distances", base = file("."))
2830
lazy val core = project
2931
.settings(moduleName := "scala-distances-core")
3032
.settings(
31-
libraryDependencies ++= Seq(
32-
CompileTimeDependencies.catsEffect,
33-
CompileTimeDependencies.circe,
34-
CompileTimeDependencies.circeGeneric,
35-
CompileTimeDependencies.circeGenericExtras,
36-
CompileTimeDependencies.circeOptics,
37-
CompileTimeDependencies.circeParser,
38-
CompileTimeDependencies.circeRefined,
39-
CompileTimeDependencies.enumeratum,
40-
CompileTimeDependencies.loggingInterceptor,
41-
CompileTimeDependencies.scalaCache,
42-
CompileTimeDependencies.scalaCacheCatsEffect,
43-
CompileTimeDependencies.scalaCacheCirce,
44-
CompileTimeDependencies.scalaCompat,
45-
CompileTimeDependencies.squants
46-
) ++ Seq(
47-
CompileTimeDependencies.monix % Test,
48-
TestDependencies.kantan,
49-
TestDependencies.kantanCats,
50-
TestDependencies.kantanGeneric,
51-
TestDependencies.mockitoScalaScalatest,
52-
TestDependencies.circeLiteral,
53-
TestDependencies.scalacheck,
54-
TestDependencies.scalatestPlus,
55-
TestDependencies.scalatest,
56-
TestDependencies.enumeratumScalacheck
33+
libraryDependencies ++= compileDependencies(
34+
cats,
35+
scalaCache,
36+
squants
37+
) ++ testDependencies(
38+
monix,
39+
mockitoScalaScalatest,
40+
scalacheck,
41+
scalatest,
42+
scalatestPlus
5743
)
5844
)
5945

@@ -62,14 +48,32 @@ lazy val core = project
6248
lazy val `google-provider` = project
6349
.in(file("providers/google"))
6450
.settings(moduleName := "scala-distances-provider-google")
65-
.settings(libraryDependencies += CompileTimeDependencies.googleMaps)
51+
.settings(
52+
libraryDependencies ++= compileDependencies(
53+
catsEffect,
54+
enumeratum,
55+
googleMaps,
56+
loggingInterceptor,
57+
refined
58+
)
59+
)
6660
.dependsOn(core)
6761

6862
lazy val `here-provider` = project
6963
.in(file("providers/here"))
7064
.settings(moduleName := "scala-distances-provider-here")
7165
.settings(
72-
libraryDependencies ++= List(CompileTimeDependencies.requests, CompileTimeDependencies.logstashLogbackEncode)
66+
libraryDependencies ++= compileDependencies(
67+
catsEffect,
68+
circe,
69+
circeGeneric,
70+
circeGenericExtras,
71+
circeJawn,
72+
logstashLogbackEncode,
73+
refined,
74+
requests,
75+
scalaCompat
76+
)
7377
)
7478
.dependsOn(core)
7579

@@ -78,22 +82,21 @@ lazy val `here-provider` = project
7882
lazy val `redis-cache` = project
7983
.in(file("caches/redis"))
8084
.settings(moduleName := "scala-distances-cache-redis")
81-
.settings(libraryDependencies += CompileTimeDependencies.scalaCacheRedis)
85+
.settings(libraryDependencies ++= compileDependencies(scalaCacheRedis))
8286
.dependsOn(core)
8387

8488
lazy val `caffeine-cache` = project
8589
.in(file("caches/caffeine"))
8690
.settings(moduleName := "scala-distances-cache-caffeine")
87-
.settings(libraryDependencies += CompileTimeDependencies.scalaCacheCaffeine)
91+
.settings(libraryDependencies ++= compileDependencies(scalaCacheCaffeine))
8892
.dependsOn(core)
8993

9094
//// Meta projects
9195

9296
lazy val tests = project
9397
.settings(noPublishSettings)
9498
.dependsOn(core % "test->test;compile->compile", `google-provider`, `here-provider`, `redis-cache`, `caffeine-cache`)
95-
.settings(libraryDependencies += CompileTimeDependencies.pureconfig)
96-
.settings(libraryDependencies += CompileTimeDependencies.refinedPureconfig)
99+
.settings(libraryDependencies ++= testDependencies(pureconfig, refinedPureconfig, scalaCacheCatsEffect))
97100

98101
/** Copied from Cats
99102
*/

project/CompileTimeDependencies.scala

-50
This file was deleted.

project/Dependencies.scala

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import sbt._
2+
3+
object Versions {
4+
final val cats = "2.7.0"
5+
final val catsEffect = "2.3.3"
6+
final val circe = "0.14.2"
7+
final val enumeratum = "1.7.0"
8+
final val google = "2.0.0"
9+
final val logbackEncoder = "7.2"
10+
final val loggingInterceptor = "4.10.0"
11+
final val mockitoScala = "1.17.12"
12+
final val monix = "3.4.1"
13+
final val pureconfig = "0.17.1"
14+
final val refined = "0.10.1"
15+
final val requests = "0.7.1"
16+
final val scalaCache = "0.28.0"
17+
final val scalacheck = "1.17.0"
18+
final val scalaCompat = "2.8.1"
19+
final val scalatest = "3.2.13"
20+
final val scalatestPlus = "3.1.0.0-RC2"
21+
final val squants = "1.8.3"
22+
}
23+
24+
object Dependencies {
25+
26+
final val cats = "org.typelevel" %% "cats-core" % Versions.cats
27+
final val catsEffect = "org.typelevel" %% "cats-effect" % Versions.catsEffect
28+
final val circe = "io.circe" %% "circe-core" % Versions.circe
29+
final val circeGeneric = "io.circe" %% "circe-generic" % Versions.circe
30+
final val circeGenericExtras = "io.circe" %% "circe-generic-extras" % Versions.circe
31+
final val circeJawn = "io.circe" %% "circe-jawn" % Versions.circe
32+
final val enumeratum = "com.beachape" %% "enumeratum" % Versions.enumeratum
33+
final val googleMaps = "com.google.maps" % "google-maps-services" % Versions.google
34+
final val loggingInterceptor = "com.squareup.okhttp3" % "logging-interceptor" % Versions.loggingInterceptor
35+
final val logstashLogbackEncode = "net.logstash.logback" % "logstash-logback-encoder" % Versions.logbackEncoder
36+
final val mockitoScalaScalatest = "org.mockito" %% "mockito-scala-scalatest" % Versions.mockitoScala
37+
final val monix = "io.monix" %% "monix" % Versions.monix
38+
final val pureconfig = "com.github.pureconfig" %% "pureconfig" % Versions.pureconfig
39+
final val refined = "eu.timepit" %% "refined" % Versions.refined
40+
final val refinedPureconfig = "eu.timepit" %% "refined-pureconfig" % Versions.refined
41+
final val requests = "com.lihaoyi" %% "requests" % Versions.requests
42+
final val scalaCache = "com.github.cb372" %% "scalacache-core" % Versions.scalaCache
43+
final val scalaCacheCaffeine = "com.github.cb372" %% "scalacache-caffeine" % Versions.scalaCache
44+
final val scalaCacheCatsEffect = "com.github.cb372" %% "scalacache-cats-effect" % Versions.scalaCache
45+
final val scalaCacheRedis = "com.github.cb372" %% "scalacache-redis" % Versions.scalaCache
46+
final val scalacheck = "org.scalacheck" %% "scalacheck" % Versions.scalacheck
47+
final val scalaCompat = "org.scala-lang.modules" %% "scala-collection-compat" % Versions.scalaCompat
48+
final val scalatest = "org.scalatest" %% "scalatest" % Versions.scalatest
49+
final val scalatestPlus = "org.scalatestplus" %% "scalatestplus-scalacheck" % Versions.scalatestPlus
50+
final val squants = "org.typelevel" %% "squants" % Versions.squants
51+
52+
}
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../scala-common/scala/DependenciesScopesHandler.scala

project/ReleaseSettings.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
../scala-common/ReleaseSettings.scala
1+
../scala-common/scala/ReleaseSettings.scala

project/TestDependencies.scala

-22
This file was deleted.

scala-common

0 commit comments

Comments
 (0)