diff --git a/.travis.yml b/.travis.yml index 5e8a0c5a..effcde8b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,8 @@ after_success: - bash <(curl -s https://codecov.io/bash) scala: - - 2.12.4 + - 2.13.0 + - 2.12.10 - 2.11.12 # whitelist diff --git a/build.sbt b/build.sbt index 8c4d181e..fa68a1b2 100755 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ enablePlugins(GhpagesPlugin, SiteScaladocPlugin) name := "twitter4s" version := "6.2-SNAPSHOT" -scalaVersion := "2.12.4" +scalaVersion := "2.13.0" resolvers ++= Seq( Resolver.sonatypeRepo("releases"), @@ -53,7 +53,7 @@ lazy val standardSettings = Seq( ScmInfo(url("https://github.com/DanielaSfregola/twitter4s"), "scm:git:git@github.com:DanielaSfregola/twitter4s.git")), apiURL := Some(url("http://DanielaSfregola.github.io/twitter4s/latest/api/")), - crossScalaVersions := Seq("2.12.4", "2.11.12"), + crossScalaVersions := Seq(scalaVersion.value, "2.12.10", "2.11.12"), pomExtra := ( diff --git a/src/main/scala/com/danielasfregola/twitter4s/http/clients/Client.scala b/src/main/scala/com/danielasfregola/twitter4s/http/clients/Client.scala index 2809b3ac..e9a70446 100644 --- a/src/main/scala/com/danielasfregola/twitter4s/http/clients/Client.scala +++ b/src/main/scala/com/danielasfregola/twitter4s/http/clients/Client.scala @@ -18,7 +18,7 @@ trait Client extends OAuthClient { protected def sendAndReceive[T](request: HttpRequest, f: HttpResponse => Future[T])( implicit system: ActorSystem, materializer: Materializer): Future[T] = { - implicit val _ = request + implicit val r: HttpRequest = request val requestStartTime = System.currentTimeMillis if (withLogRequest) logRequest diff --git a/src/main/scala/com/danielasfregola/twitter4s/http/marshalling/BodyEncoder.scala b/src/main/scala/com/danielasfregola/twitter4s/http/marshalling/BodyEncoder.scala index b232d56b..88e9a614 100644 --- a/src/main/scala/com/danielasfregola/twitter4s/http/marshalling/BodyEncoder.scala +++ b/src/main/scala/com/danielasfregola/twitter4s/http/marshalling/BodyEncoder.scala @@ -42,6 +42,6 @@ trait BodyEncoder { // TODO - improve performance with Macros? private def asMap(cc: Product): Map[String, Any] = - cc.getClass.getDeclaredFields.map(_.getName).zip(cc.productIterator.to).toMap + cc.getClass.getDeclaredFields.map(_.getName).zip(cc.productIterator.toSeq).toMap } diff --git a/src/main/scala/com/danielasfregola/twitter4s/http/oauth/OAuth1Provider.scala b/src/main/scala/com/danielasfregola/twitter4s/http/oauth/OAuth1Provider.scala index a2a2d685..ffb779e1 100644 --- a/src/main/scala/com/danielasfregola/twitter4s/http/oauth/OAuth1Provider.scala +++ b/src/main/scala/com/danielasfregola/twitter4s/http/oauth/OAuth1Provider.scala @@ -30,7 +30,7 @@ private[twitter4s] class OAuth1Provider(consumerToken: ConsumerToken, accessToke val params = basicOAuth2Params(callback) for { signature <- oauth1Signature(params) - } yield (params + signature).mapValues(_.urlEncoded) + } yield (params + signature).mapValues(_.urlEncoded).toMap } def oauth1Signature(oauth2Params: Map[String, String])(implicit request: HttpRequest, materializer: Materializer) = { @@ -67,7 +67,7 @@ private[twitter4s] class OAuth1Provider(consumerToken: ConsumerToken, accessToke val method = request.method.name.urlEncoded val baseUrl = request.uri.endpoint.urlEncoded val oauthParams = oauth2Params.map { - case (k, v) => + case (k: String, v: String) => if (k == "oauth_callback") k -> v.urlEncoded else k -> v } @@ -90,7 +90,8 @@ private[twitter4s] class OAuth1Provider(consumerToken: ConsumerToken, accessToke } } - def queryParams(implicit request: HttpRequest) = request.uri.query().toMap.mapValues(_.urlEncoded) + def queryParams(implicit request: HttpRequest): Map[String, String] = + request.uri.query().toMap.mapValues(_.urlEncoded).toMap private def encodeParams(params: Map[String, String]) = params.keySet.toList.sorted diff --git a/src/main/scala/com/danielasfregola/twitter4s/http/serializers/StreamingMessageFormats.scala b/src/main/scala/com/danielasfregola/twitter4s/http/serializers/StreamingMessageFormats.scala index f5f002c9..4d78355f 100644 --- a/src/main/scala/com/danielasfregola/twitter4s/http/serializers/StreamingMessageFormats.scala +++ b/src/main/scala/com/danielasfregola/twitter4s/http/serializers/StreamingMessageFormats.scala @@ -21,7 +21,7 @@ private[twitter4s] object StreamingMessageFormats extends FormatsComposer { private val tweetUnmarshaller = FieldSerializer[Tweet](deserializer = FieldSerializer.renameFrom("full_text", "text")) private def withCustomUnmarshaller[T <: StreamingMessage: Manifest](json: JValue, formatter: Formats): Option[T] = { - implicit val _: Formats = formatter + implicit val formats: Formats = formatter Extraction.extractOpt[T](json) }