aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2017-06-27 15:49:21 -0700
committerJakob Odersky <jakob@driver.xyz>2017-08-02 12:55:24 -0700
commitf1328134ada77d1c21374f7cca953a376a9b27f9 (patch)
treec1cd78d7d59abd29185fa061309a3d9ca6cdf8fc
parent59655964902b3c75e8e1f06e2f7d2cf038126fb3 (diff)
downloaddriver-core-f1328134ada77d1c21374f7cca953a376a9b27f9.tar.gz
driver-core-f1328134ada77d1c21374f7cca953a376a9b27f9.tar.bz2
driver-core-f1328134ada77d1c21374f7cca953a376a9b27f9.zip
Library upgrades and code tweaks to support Scala 2.12v0.15.0
-rw-r--r--build.sbt10
-rw-r--r--project/plugins.sbt2
-rw-r--r--src/main/scala/xyz/driver/core/app.scala4
-rw-r--r--src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala6
-rw-r--r--src/main/scala/xyz/driver/core/database/database.scala6
-rw-r--r--src/main/scala/xyz/driver/core/database/package.scala2
-rw-r--r--src/main/scala/xyz/driver/core/file/GcsStorage.scala2
-rw-r--r--src/main/scala/xyz/driver/core/file/S3Storage.scala2
-rw-r--r--src/main/scala/xyz/driver/core/rest.scala8
-rw-r--r--src/main/scala/xyz/driver/core/swagger.scala10
-rw-r--r--src/test/scala/xyz/driver/core/AuthTest.scala2
-rw-r--r--src/test/scala/xyz/driver/core/CoreTest.scala2
-rw-r--r--src/test/scala/xyz/driver/core/FileTest.scala2
-rw-r--r--src/test/scala/xyz/driver/core/JsonTest.scala6
-rw-r--r--src/test/scala/xyz/driver/core/MessagesTest.scala12
15 files changed, 38 insertions, 38 deletions
diff --git a/build.sbt b/build.sbt
index 1de7260..6942993 100644
--- a/build.sbt
+++ b/build.sbt
@@ -10,16 +10,16 @@ lazy val core = (project in file("."))
"com.typesafe.akka" %% "akka-http-core" % akkaHttpV,
"com.typesafe.akka" %% "akka-http-spray-json" % akkaHttpV,
"com.typesafe.akka" %% "akka-http-testkit" % akkaHttpV,
- "com.pauldijou" %% "jwt-core" % "0.9.2",
- "org.scalatest" % "scalatest_2.11" % "2.2.6" % "test",
- "org.scalacheck" %% "scalacheck" % "1.12.5" % "test",
+ "com.pauldijou" %% "jwt-core" % "0.14.0",
+ "org.scalatest" %% "scalatest" % "3.0.1" % "test",
+ "org.scalacheck" %% "scalacheck" % "1.13.4" % "test",
"org.mockito" % "mockito-core" % "1.9.5" % "test",
"com.github.swagger-akka-http" %% "swagger-akka-http" % "0.9.1",
"com.amazonaws" % "aws-java-sdk-s3" % "1.11.26",
"com.google.cloud" % "google-cloud-pubsub" % "0.17.2-alpha",
"com.google.cloud" % "google-cloud-storage" % "1.0.1",
- "com.typesafe.slick" %% "slick" % "3.1.1",
+ "com.typesafe.slick" %% "slick" % "3.2.1",
"com.typesafe" % "config" % "1.2.1",
- "com.typesafe.scala-logging" %% "scala-logging" % "3.4.0",
+ "com.typesafe.scala-logging" %% "scala-logging" % "3.5.0",
"ch.qos.logback" % "logback-classic" % "1.1.3"
))
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 83fdd9a..4da27d0 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,4 +1,4 @@
resolvers += "releases" at "https://drivergrp.jfrog.io/drivergrp/releases"
credentials += Credentials("Artifactory Realm", "drivergrp.jfrog.io", "sbt-publisher", "ANC-d8X-Whm-USS")
-addSbtPlugin("xyz.driver" % "sbt-settings" % "0.7.39")
+addSbtPlugin("xyz.driver" % "sbt-settings" % "0.7.40")
diff --git a/src/main/scala/xyz/driver/core/app.scala b/src/main/scala/xyz/driver/core/app.scala
index 363f1e8..a64093a 100644
--- a/src/main/scala/xyz/driver/core/app.scala
+++ b/src/main/scala/xyz/driver/core/app.scala
@@ -104,7 +104,7 @@ object app {
lazy val names = methods map (_.name) mkString ", "
options { ctx =>
- optionalHeaderValueByType[Origin]() { originHeader =>
+ optionalHeaderValueByType[Origin](()) { originHeader =>
respondWithHeaders(List[HttpHeader](
Allow(methods),
`Access-Control-Allow-Methods`(methods),
@@ -130,7 +130,7 @@ object app {
http.bindAndHandle(
route2HandlerFlow(extractHost { origin =>
extractClientIP { ip =>
- optionalHeaderValueByType[Origin]() { originHeader =>
+ optionalHeaderValueByType[Origin](()) { originHeader =>
{ ctx =>
val trackingId = rest.extractTrackingId(ctx.request)
MDC.put("trackingId", trackingId)
diff --git a/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala b/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala
index 1331efc..a3f57c1 100644
--- a/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala
+++ b/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala
@@ -1,11 +1,11 @@
package xyz.driver.core.database
-import slick.driver.HsqldbDriver
+import slick.jdbc.HsqldbProfile
import slick.jdbc.JdbcType
import slick.ast.FieldSymbol
-import slick.profile.RelationalProfile
+import slick.relational.RelationalProfile
-trait PatchedHsqldbProfile extends HsqldbDriver {
+trait PatchedHsqldbProfile extends HsqldbProfile {
override def defaultSqlTypeName(tmd: JdbcType[_], sym: Option[FieldSymbol]): String = tmd.sqlType match {
case java.sql.Types.VARCHAR =>
val size = sym.flatMap(_.findColumnOption[RelationalProfile.ColumnOption.Length])
diff --git a/src/main/scala/xyz/driver/core/database/database.scala b/src/main/scala/xyz/driver/core/database/database.scala
index 8426309..7855a16 100644
--- a/src/main/scala/xyz/driver/core/database/database.scala
+++ b/src/main/scala/xyz/driver/core/database/database.scala
@@ -1,7 +1,7 @@
package xyz.driver.core
-import slick.backend.DatabaseConfig
-import slick.driver.JdbcProfile
+import slick.basic.DatabaseConfig
+import slick.jdbc.JdbcProfile
import xyz.driver.core.date.Date
import xyz.driver.core.time.Time
@@ -21,7 +21,7 @@ package database {
val dbConfig: DatabaseConfig[JdbcProfile] = DatabaseConfig.forConfig(databaseName, config)
new Database {
- val profile: JdbcProfile = dbConfig.driver
+ val profile: JdbcProfile = dbConfig.profile
val database: JdbcProfile#Backend#Database = dbConfig.db
}
}
diff --git a/src/main/scala/xyz/driver/core/database/package.scala b/src/main/scala/xyz/driver/core/database/package.scala
index b39169d..9385c8f 100644
--- a/src/main/scala/xyz/driver/core/database/package.scala
+++ b/src/main/scala/xyz/driver/core/database/package.scala
@@ -5,7 +5,7 @@ import java.util.Calendar
import date.{Date, Month}
import slick.dbio._
-import slick.driver.JdbcProfile
+import slick.jdbc.JdbcProfile
package object database {
diff --git a/src/main/scala/xyz/driver/core/file/GcsStorage.scala b/src/main/scala/xyz/driver/core/file/GcsStorage.scala
index 65a5a50..76438cf 100644
--- a/src/main/scala/xyz/driver/core/file/GcsStorage.scala
+++ b/src/main/scala/xyz/driver/core/file/GcsStorage.scala
@@ -11,7 +11,7 @@ import java.nio.file.{Path, Paths}
import java.util.concurrent.TimeUnit
import com.google.cloud.storage.Storage.BlobListOption
-import com.google.cloud.storage._
+import com.google.cloud.storage.{Option => _, _}
import xyz.driver.core.time.Time
import xyz.driver.core.{Name, Revision, generators}
diff --git a/src/main/scala/xyz/driver/core/file/S3Storage.scala b/src/main/scala/xyz/driver/core/file/S3Storage.scala
index 49bebc8..311aab3 100644
--- a/src/main/scala/xyz/driver/core/file/S3Storage.scala
+++ b/src/main/scala/xyz/driver/core/file/S3Storage.scala
@@ -43,7 +43,7 @@ class S3Storage(s3: AmazonS3, bucket: Name[Bucket], executionContext: ExecutionC
override def stream(filePath: Path): OptionT[Future, Source[ByteString, NotUsed]] =
OptionT.optionT(Future {
Option(s3.getObject(new GetObjectRequest(bucket.value, filePath.toString))).map { elem =>
- StreamConverters.fromInputStream(elem.getObjectContent, chunkSize).mapMaterializedValue(_ => NotUsed)
+ StreamConverters.fromInputStream(() => elem.getObjectContent(), chunkSize).mapMaterializedValue(_ => NotUsed)
}
})
diff --git a/src/main/scala/xyz/driver/core/rest.scala b/src/main/scala/xyz/driver/core/rest.scala
index 1088e40..2527b75 100644
--- a/src/main/scala/xyz/driver/core/rest.scala
+++ b/src/main/scala/xyz/driver/core/rest.scala
@@ -91,7 +91,7 @@ object `package` {
case Seq(start, end) =>
builder += ' '
builder ++= byteString.slice(start, end)
- case Seq(byteStringLength) => // Should not match; sliding on at least 2 elements
+ case Seq(_) => // Should not match; sliding on at least 2 elements
assert(indices.nonEmpty, s"Indices should have been nonEmpty: $indices")
}
builder.result
@@ -205,7 +205,7 @@ trait Authorization[U <: User] {
implicit ctx: ServiceRequestContext): Future[AuthorizationResult]
}
-class AlwaysAllowAuthorization[U <: User](implicit execution: ExecutionContext) extends Authorization[U] {
+class AlwaysAllowAuthorization[U <: User] extends Authorization[U] {
override def userHasPermissions(user: U, permissions: Seq[Permission])(
implicit ctx: ServiceRequestContext): Future[AuthorizationResult] = {
val permissionsMap = permissions.map(_ -> true).toMap
@@ -427,9 +427,9 @@ class HttpRestServiceTransport(applicationName: Name[App],
val request = requestStub
.withHeaders(context.contextHeaders.toSeq.map {
- case (ContextHeaders.TrackingIdHeader, headerValue) =>
+ case (ContextHeaders.TrackingIdHeader, _) =>
RawHeader(ContextHeaders.TrackingIdHeader, context.trackingId)
- case (ContextHeaders.StacktraceHeader, headerValue) =>
+ case (ContextHeaders.StacktraceHeader, _) =>
RawHeader(ContextHeaders.StacktraceHeader,
Option(MDC.get("stack"))
.orElse(context.contextHeaders.get(ContextHeaders.StacktraceHeader))
diff --git a/src/main/scala/xyz/driver/core/swagger.scala b/src/main/scala/xyz/driver/core/swagger.scala
index 36c52e0..a97e0ac 100644
--- a/src/main/scala/xyz/driver/core/swagger.scala
+++ b/src/main/scala/xyz/driver/core/swagger.scala
@@ -85,7 +85,7 @@ object swagger {
val javaType = Json.mapper().constructType(`type`)
(getEnumerationInstance(javaType.getRawClass) match {
- case Some(enumInstance) => Option.empty[Model] // ignore scala enums
+ case Some(_) => Option.empty[Model] // ignore scala enums
case None =>
val customObjectModel = customObjects.get(javaType.getRawClass).map { objectExampleJson =>
val properties = objectExampleJson.asJsObject.fields.mapValues(parseJsonValueToSwaggerProperty).flatMap {
@@ -125,10 +125,10 @@ object swagger {
case (key, value) => value.map(v => key -> v)
}
Option(new ObjectProperty(subProperties.asJava))
- case JsBoolean(value) => Option(booleanProperty())
- case JsNumber(value) => Option(numericProperty(example = Option(value)))
- case JsString(value) => Option(stringProperty(example = Option(value)))
- case _ => Option.empty[Property]
+ case JsBoolean(_) => Option(booleanProperty())
+ case JsNumber(value) => Option(numericProperty(example = Option(value)))
+ case JsString(value) => Option(stringProperty(example = Option(value)))
+ case _ => Option.empty[Property]
}
}
diff --git a/src/test/scala/xyz/driver/core/AuthTest.scala b/src/test/scala/xyz/driver/core/AuthTest.scala
index 9018a3e..16f9e92 100644
--- a/src/test/scala/xyz/driver/core/AuthTest.scala
+++ b/src/test/scala/xyz/driver/core/AuthTest.scala
@@ -5,7 +5,7 @@ import akka.http.scaladsl.server.AuthenticationFailedRejection.CredentialsReject
import akka.http.scaladsl.server.Directives._
import akka.http.scaladsl.server._
import akka.http.scaladsl.testkit.ScalatestRouteTest
-import org.scalatest.mock.MockitoSugar
+import org.scalatest.mockito.MockitoSugar
import org.scalatest.{FlatSpec, Matchers}
import pdi.jwt.{Jwt, JwtAlgorithm}
import xyz.driver.core.auth._
diff --git a/src/test/scala/xyz/driver/core/CoreTest.scala b/src/test/scala/xyz/driver/core/CoreTest.scala
index 0518652..d280d73 100644
--- a/src/test/scala/xyz/driver/core/CoreTest.scala
+++ b/src/test/scala/xyz/driver/core/CoreTest.scala
@@ -3,7 +3,7 @@ package xyz.driver.core
import java.io.ByteArrayOutputStream
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatest.mockito.MockitoSugar
import org.scalatest.{FlatSpec, Matchers}
class CoreTest extends FlatSpec with Matchers with MockitoSugar {
diff --git a/src/test/scala/xyz/driver/core/FileTest.scala b/src/test/scala/xyz/driver/core/FileTest.scala
index 717233e..ace0b07 100644
--- a/src/test/scala/xyz/driver/core/FileTest.scala
+++ b/src/test/scala/xyz/driver/core/FileTest.scala
@@ -5,7 +5,7 @@ import java.nio.file.Paths
import org.mockito.Matchers._
import org.mockito.Mockito._
-import org.scalatest.mock.MockitoSugar
+import org.scalatest.mockito.MockitoSugar
import org.scalatest.{FlatSpec, Matchers}
import xyz.driver.core.file.{FileSystemStorage, GcsStorage, S3Storage}
diff --git a/src/test/scala/xyz/driver/core/JsonTest.scala b/src/test/scala/xyz/driver/core/JsonTest.scala
index 760559c..bcf0ecf 100644
--- a/src/test/scala/xyz/driver/core/JsonTest.scala
+++ b/src/test/scala/xyz/driver/core/JsonTest.scala
@@ -144,9 +144,9 @@ class JsonTest extends FlatSpec with Matchers {
implicit val case3Format = jsonFormat1(GadtCase3)
val format = GadtJsonFormat.create[CustomGADT]("gadtTypeField") {
- case t1: CustomGADT.GadtCase1 => "case1"
- case t2: CustomGADT.GadtCase2 => "case2"
- case t3: CustomGADT.GadtCase3 => "case3"
+ case _: CustomGADT.GadtCase1 => "case1"
+ case _: CustomGADT.GadtCase2 => "case2"
+ case _: CustomGADT.GadtCase3 => "case3"
} {
case "case1" => case1Format
case "case2" => case2Format
diff --git a/src/test/scala/xyz/driver/core/MessagesTest.scala b/src/test/scala/xyz/driver/core/MessagesTest.scala
index abc4035..09558bc 100644
--- a/src/test/scala/xyz/driver/core/MessagesTest.scala
+++ b/src/test/scala/xyz/driver/core/MessagesTest.scala
@@ -3,12 +3,12 @@ package xyz.driver.core
import java.util.Locale
import com.typesafe.config.{ConfigException, ConfigFactory}
-import org.scalatest.mock.MockitoSugar
+import org.scalatest.mockito.MockitoSugar
import org.scalatest.{FlatSpec, Matchers}
import xyz.driver.core.messages.Messages
import xyz.driver.core.logging.NoLogger
-import scala.collection.JavaConversions._
+import scala.collection.JavaConverters._
class MessagesTest extends FlatSpec with Matchers with MockitoSugar {
@@ -17,7 +17,7 @@ class MessagesTest extends FlatSpec with Matchers with MockitoSugar {
"Messages" should "read messages from config and format with parameters" in {
- val messagesConfig = ConfigFactory.parseMap(englishLocaleMessages)
+ val messagesConfig = ConfigFactory.parseMap(englishLocaleMessages.asJava)
val messages = Messages.messages(messagesConfig, NoLogger, Locale.US)
@@ -28,12 +28,12 @@ class MessagesTest extends FlatSpec with Matchers with MockitoSugar {
it should "be able to read messages for different locales" in {
- val messagesConfig = ConfigFactory.parseMap(
+ val messagesConfig = ConfigFactory.parseMap((
englishLocaleMessages ++ Map(
"zh.hello" -> "你好,世界!",
"zh.greeting" -> "你好,{0}!",
"zh.greetingFullName" -> "你好,{0} {1} {2}!"
- ))
+ )).asJava)
val englishMessages = Messages.messages(messagesConfig, NoLogger, Locale.US)
val englishMessagesToo = Messages.messages(messagesConfig, NoLogger, Locale.ENGLISH)
@@ -55,7 +55,7 @@ class MessagesTest extends FlatSpec with Matchers with MockitoSugar {
it should "raise exception when locale is not available" in {
- val messagesConfig = ConfigFactory.parseMap(englishLocaleMessages)
+ val messagesConfig = ConfigFactory.parseMap(englishLocaleMessages.asJava)
an[ConfigException.Missing] should be thrownBy
Messages.messages(messagesConfig, NoLogger, Locale.GERMAN)