Skip to content

Commit 8215679

Browse files
committed
Move to sttp client to have some layer of abstraction over the client library
1 parent 31a0bf0 commit 8215679

File tree

8 files changed

+459
-145
lines changed

8 files changed

+459
-145
lines changed

build.sbt

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ lazy val commonSettings = Seq(
1212
else
1313
git.gitDescribedVersion.value.get
1414
},
15-
scalaVersion := "2.12.11",
15+
scalaVersion := "2.12.12",
1616
cancelable in Global := true,
1717
scalafmtOnCompile := true,
18-
scapegoatVersion in ThisBuild := Versions.ScapegoatVersion,
18+
scapegoatVersion in ThisBuild := Versions.Scapegoat,
1919
scapegoatDisabledInspections := Seq("ObjectNames", "EmptyCaseClass"),
2020
unusedCompileDependenciesFilter -= moduleFilter("com.sksamuel.scapegoat", "scalac-scapegoat-plugin"),
2121
addCompilerPlugin("org.typelevel" %% "kind-projector" % "0.11.2" cross CrossVersion.full),
@@ -105,17 +105,17 @@ lazy val credentialSettings = Seq(
105105

106106
val coreDependenciesJVM = Seq(
107107
"org.locationtech.jts" % "jts-core" % Versions.Jts,
108-
"org.locationtech.geotrellis" %% "geotrellis-vector" % Versions.GeoTrellisVersion
108+
"org.locationtech.geotrellis" %% "geotrellis-vector" % Versions.GeoTrellis
109109
)
110110

111111
val testingDependenciesJVM = Seq(
112-
"org.locationtech.geotrellis" %% "geotrellis-vector" % Versions.GeoTrellisVersion,
112+
"org.locationtech.geotrellis" %% "geotrellis-vector" % Versions.GeoTrellis,
113113
"org.locationtech.jts" % "jts-core" % Versions.Jts
114114
)
115115

116116
val testRunnerDependenciesJVM = Seq(
117-
"io.circe" %% "circe-testing" % Versions.CirceVersion % Test,
118-
"org.scalatest" %% "scalatest" % Versions.ScalatestVersion % Test,
117+
"io.circe" %% "circe-testing" % Versions.Circe % Test,
118+
"org.scalatest" %% "scalatest" % Versions.Scalatest % Test,
119119
"org.scalatestplus" %% "scalacheck-1-14" % Versions.ScalatestPlusScalacheck % Test
120120
)
121121

@@ -133,16 +133,16 @@ lazy val core = crossProject(JSPlatform, JVMPlatform)
133133
.settings(publishSettings)
134134
.settings({
135135
libraryDependencies ++= Seq(
136-
"com.beachape" %%% "enumeratum" % Versions.EnumeratumVersion,
137-
"com.beachape" %%% "enumeratum-circe" % Versions.EnumeratumVersion,
138-
"com.chuusai" %%% "shapeless" % Versions.ShapelessVersion,
139-
"eu.timepit" %%% "refined" % Versions.RefinedVersion,
140-
"io.circe" %%% "circe-core" % Versions.CirceVersion,
141-
"io.circe" %%% "circe-generic" % Versions.CirceVersion,
142-
"io.circe" %%% "circe-parser" % Versions.CirceVersion,
143-
"io.circe" %%% "circe-refined" % Versions.CirceVersion,
144-
"org.typelevel" %%% "cats-core" % Versions.CatsVersion,
145-
"org.typelevel" %%% "cats-kernel" % Versions.CatsVersion
136+
"com.beachape" %%% "enumeratum" % Versions.Enumeratum,
137+
"com.beachape" %%% "enumeratum-circe" % Versions.Enumeratum,
138+
"com.chuusai" %%% "shapeless" % Versions.Shapeless,
139+
"eu.timepit" %%% "refined" % Versions.Refined,
140+
"io.circe" %%% "circe-core" % Versions.Circe,
141+
"io.circe" %%% "circe-generic" % Versions.Circe,
142+
"io.circe" %%% "circe-parser" % Versions.Circe,
143+
"io.circe" %%% "circe-refined" % Versions.Circe,
144+
"org.typelevel" %%% "cats-core" % Versions.Cats,
145+
"org.typelevel" %%% "cats-kernel" % Versions.Cats
146146
)
147147
})
148148
.jvmSettings(
@@ -164,15 +164,15 @@ lazy val testing = crossProject(JSPlatform, JVMPlatform)
164164
.settings(publishSettings)
165165
.settings(
166166
libraryDependencies ++= Seq(
167-
"com.beachape" %%% "enumeratum" % Versions.EnumeratumVersion,
168-
"com.beachape" %%% "enumeratum-scalacheck" % Versions.EnumeratumVersion,
169-
"com.chuusai" %%% "shapeless" % Versions.ShapelessVersion,
170-
"eu.timepit" %%% "refined-scalacheck" % Versions.RefinedVersion,
171-
"eu.timepit" %%% "refined" % Versions.RefinedVersion,
172-
"io.chrisdavenport" %%% "cats-scalacheck" % Versions.ScalacheckCatsVersion,
173-
"io.circe" %%% "circe-core" % Versions.CirceVersion,
174-
"org.scalacheck" %%% "scalacheck" % Versions.ScalacheckVersion,
175-
"org.typelevel" %%% "cats-core" % Versions.CatsVersion
167+
"com.beachape" %%% "enumeratum" % Versions.Enumeratum,
168+
"com.beachape" %%% "enumeratum-scalacheck" % Versions.Enumeratum,
169+
"com.chuusai" %%% "shapeless" % Versions.Shapeless,
170+
"eu.timepit" %%% "refined-scalacheck" % Versions.Refined,
171+
"eu.timepit" %%% "refined" % Versions.Refined,
172+
"io.chrisdavenport" %%% "cats-scalacheck" % Versions.ScalacheckCats,
173+
"io.circe" %%% "circe-core" % Versions.Circe,
174+
"org.scalacheck" %%% "scalacheck" % Versions.Scalacheck,
175+
"org.typelevel" %%% "cats-core" % Versions.Cats
176176
)
177177
)
178178
.jvmSettings(libraryDependencies ++= testingDependenciesJVM)
@@ -187,8 +187,8 @@ lazy val coreTest = crossProject(JSPlatform, JVMPlatform)
187187
.settings(noPublishSettings)
188188
.settings(
189189
libraryDependencies ++= Seq(
190-
"io.circe" %%% "circe-testing" % Versions.CirceVersion % Test,
191-
"org.scalatest" %%% "scalatest" % Versions.ScalatestVersion % Test,
190+
"io.circe" %%% "circe-testing" % Versions.Circe % Test,
191+
"org.scalatest" %%% "scalatest" % Versions.Scalatest % Test,
192192
"org.scalatestplus" %%% "scalacheck-1-14" % Versions.ScalatestPlusScalacheck % Test
193193
)
194194
)
@@ -209,23 +209,24 @@ lazy val client = crossProject(JSPlatform, JVMPlatform)
209209
.settings(publishSettings)
210210
.settings(
211211
libraryDependencies ++= Seq(
212-
"io.circe" %% "circe-core" % Versions.CirceVersion,
213-
"io.circe" %% "circe-generic" % Versions.CirceVersion,
214-
"io.circe" %% "circe-refined" % Versions.CirceVersion,
215-
"com.chuusai" %% "shapeless" % Versions.ShapelessVersion,
216-
"eu.timepit" %% "refined" % Versions.RefinedVersion,
217-
"org.locationtech.geotrellis" %% "geotrellis-vector" % Versions.GeoTrellisVersion,
218-
"org.locationtech.jts" % "jts-core" % Versions.Jts,
219-
"org.typelevel" %% "cats-core" % Versions.CatsVersion,
220-
"com.softwaremill.sttp.client3" %% "core" % "3.0.0-RC13",
221-
"co.fs2" %% "fs2-core" % "2.4.2",
222-
"org.http4s" %% "http4s-blaze-client" % "0.21.7",
223-
"org.http4s" %% "http4s-circe" % "0.21.7",
224-
"org.http4s" %% "http4s-client" % "0.21.7",
225-
"org.http4s" %% "http4s-core" % "0.21.7",
226-
"org.typelevel" %% "cats-effect" % "2.1.4",
227-
"io.chrisdavenport" %% "vault" % "2.0.0",
228-
"io.chrisdavenport" %% "log4cats-core" % "1.1.1"
212+
"io.circe" %% "circe-core" % Versions.Circe,
213+
"io.circe" %% "circe-generic" % Versions.Circe,
214+
"io.circe" %% "circe-refined" % Versions.Circe,
215+
"com.chuusai" %% "shapeless" % Versions.Shapeless,
216+
"eu.timepit" %% "refined" % Versions.Refined,
217+
"org.locationtech.geotrellis" %% "geotrellis-vector" % Versions.GeoTrellis,
218+
"org.locationtech.jts" % "jts-core" % Versions.Jts,
219+
"org.typelevel" %% "cats-core" % Versions.Cats,
220+
"com.softwaremill.sttp.client3" %% "core" % Versions.Sttp,
221+
"com.softwaremill.sttp.client3" %% "circe" % Versions.Sttp,
222+
"com.softwaremill.sttp.client3" %% "json-common" % Versions.Sttp,
223+
"com.softwaremill.sttp.model" %% "core" % Versions.SttpModel,
224+
"com.softwaremill.sttp.shared" %% "core" % Versions.SttpShared,
225+
"com.softwaremill.sttp.client3" %% "http4s-backend" % Versions.Sttp % Test,
226+
"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats" % Versions.Sttp % Test,
227+
"org.scalatest" %%% "scalatest" % Versions.Scalatest % Test,
228+
"io.chrisdavenport" %% "log4cats-core" % Versions.Log4Cats,
229+
"io.chrisdavenport" %% "log4cats-slf4j" % Versions.Log4Cats % Test
229230
)
230231
)
231232

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<configuration>
2+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
3+
<encoder>
4+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
5+
</encoder>
6+
</appender>
7+
8+
<root level="info">
9+
<appender-ref ref="STDOUT"/>
10+
</root>
11+
</configuration>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.azavea
2+
3+
import cats.effect.{ContextShift, IO, Timer}
4+
import io.chrisdavenport.log4cats.Logger
5+
import io.chrisdavenport.log4cats.slf4j.Slf4jLogger
6+
import org.scalatest.funspec.AsyncFunSpec
7+
import org.scalatest.matchers.should.Matchers
8+
import org.scalatest.{Assertion, Assertions}
9+
10+
trait IOSpec extends AsyncFunSpec with Assertions with Matchers {
11+
implicit val contextShift: ContextShift[IO] = IO.contextShift(executionContext)
12+
implicit val timer: Timer[IO] = IO.timer(executionContext)
13+
implicit val logger: Logger[IO] = Slf4jLogger.getLogger[IO]
14+
15+
private val itWord = new ItWord
16+
17+
def it(name: String)(test: => IO[Assertion]): Unit = itWord.apply(name)(test.unsafeToFuture())
18+
19+
def ignore(name: String)(test: => IO[Assertion]): Unit = super.ignore(name)(test.unsafeToFuture())
20+
21+
def describe(description: String)(fun: => Unit): Unit = super.describe(description)(fun)
22+
}

0 commit comments

Comments
 (0)