diff --git a/.travis.yml b/.travis.yml
index f17b5fd..c1d8fd9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,6 +5,7 @@ dist: trusty
scala:
- 2.10.6
- 2.11.8
+- 2.12.8
jdk:
- oraclejdk8
\ No newline at end of file
diff --git a/cloudinary-core/build.sbt b/cloudinary-core/build.sbt
index 6ce9cf3..02d7bc6 100644
--- a/cloudinary-core/build.sbt
+++ b/cloudinary-core/build.sbt
@@ -13,37 +13,38 @@ name := "cloudinary-core-scala"
pomExtra := {
http://cloudinary.com
-
-
- MIT
- http://opensource.org/licenses/MIT
- repo
-
-
-
- scm:git:github.com/cloudinary/cloudinary_scala.git
- scm:git:github.com/cloudinary/cloudinary_scala.git
- github.com/cloudinary/cloudinary_scala.git
-
-
-
+
+
+ MIT
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:github.com/cloudinary/cloudinary_scala.git
+ scm:git:github.com/cloudinary/cloudinary_scala.git
+ github.com/cloudinary/cloudinary_scala.git
+
+
+
cloudinary
Cloudinary
info@cloudinary.com
-
-
-}
-
+
+
+}
+
libraryDependencies ++= Seq(
"com.ning" % "async-http-client" % "1.9.40",
- "org.json4s" %% "json4s-native" % "3.4.0",
- "org.json4s" %% "json4s-ext" % "3.4.0",
- "org.scalatest" %% "scalatest" % "2.2.1" % "test",
+ "org.json4s" %% "json4s-native" % "3.6.10",
+ "org.json4s" %% "json4s-ext" % "3.6.10",
+ "org.scalatest" %% "scalatest" % "3.2.2" % "test",
+ "org.scala-lang.modules" %% "scala-xml" % "1.1.1",
"org.nanohttpd" % "nanohttpd" % "2.2.0" % "test")
// http://mvnrepository.com/artifact/org.slf4j/slf4j-simple
libraryDependencies += "org.slf4j" % "slf4j-simple" % "1.7.21" % "test"
-libraryDependencies += "org.scalamock" %% "scalamock-scalatest-support" % "3.2.2" % "test"
+libraryDependencies += "org.scalamock" %% "scalamock-scalatest-support" % "3.4.1" % "test"
resolvers ++= Seq("sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots", "sonatype releases" at "https://oss.sonatype.org/content/repositories/releases")
scalacOptions ++= Seq("-unchecked", "-deprecation", "-feature")
diff --git a/cloudinary-core/src/test/scala/com/cloudinary/ApiSpec.scala b/cloudinary-core/src/test/scala/com/cloudinary/ApiSpec.scala
index 462947d..b2686f6 100644
--- a/cloudinary-core/src/test/scala/com/cloudinary/ApiSpec.scala
+++ b/cloudinary-core/src/test/scala/com/cloudinary/ApiSpec.scala
@@ -10,7 +10,10 @@ import com.cloudinary.parameters._
import com.cloudinary.response._
import com.ning.http.client._
import org.scalamock.scalatest.MockFactory
-import org.scalatest.{Matchers, _}
+import org.scalatest._
+import matchers.should._
+import matchers.should.Matchers._
+import org.scalatest.flatspec.AnyFlatSpec
import scala.concurrent.Await
import scala.concurrent.ExecutionContext.Implicits.global
diff --git a/cloudinary-core/src/test/scala/com/cloudinary/CloudinarySpec.scala b/cloudinary-core/src/test/scala/com/cloudinary/CloudinarySpec.scala
index 7686321..4f4b93a 100644
--- a/cloudinary-core/src/test/scala/com/cloudinary/CloudinarySpec.scala
+++ b/cloudinary-core/src/test/scala/com/cloudinary/CloudinarySpec.scala
@@ -2,11 +2,15 @@ package com.cloudinary
import scala.language.postfixOps
import org.scalatest._
-import org.scalatest.Matchers
+import matchers.should._
+import matchers.should.Matchers._
import java.net.URI
+
+import scala.Console.in
import scala.collection.JavaConverters._
+import org.scalatest.flatspec.AnyFlatSpec
-class CloudinarySpec extends FlatSpec with Matchers with OptionValues with Inside {
+class CloudinarySpec extends AnyFlatSpec with Matchers with OptionValues with Inside {
lazy val cloudinary = {
new Cloudinary("cloudinary://a:b@test123")
}
diff --git a/cloudinary-core/src/test/scala/com/cloudinary/MockableFlatSpec.scala b/cloudinary-core/src/test/scala/com/cloudinary/MockableFlatSpec.scala
index 78a2854..856e1d4 100644
--- a/cloudinary-core/src/test/scala/com/cloudinary/MockableFlatSpec.scala
+++ b/cloudinary-core/src/test/scala/com/cloudinary/MockableFlatSpec.scala
@@ -6,11 +6,12 @@ import com.ning.http.client.multipart.StringPart
import com.ning.http.client.{AsyncHttpClient, AsyncHttpClientConfig, AsyncHttpProvider, Request}
import org.scalamock.clazz.Mock
import org.scalamock.scalatest.MockFactory
-import org.scalatest.{BeforeAndAfterEach, FlatSpec}
+import org.scalatest.flatspec.AnyFlatSpec
+import org.scalatest.BeforeAndAfterEach
import scala.collection.JavaConverters._
-class MockableFlatSpec extends FlatSpec with MockFactory with BeforeAndAfterEach{
+class MockableFlatSpec extends AnyFlatSpec with MockFactory with BeforeAndAfterEach{
protected val prefix = "cloudinary_scala"
protected val suffix = sys.env.getOrElse("TRAVIS_JOB_ID", (10000 + scala.util.Random.nextInt(89999)).toString)
protected val testId = s"${prefix}_$suffix"
diff --git a/cloudinary-core/src/test/scala/com/cloudinary/SearchParametersSpec.scala b/cloudinary-core/src/test/scala/com/cloudinary/SearchParametersSpec.scala
index 40ee594..22fed2e 100644
--- a/cloudinary-core/src/test/scala/com/cloudinary/SearchParametersSpec.scala
+++ b/cloudinary-core/src/test/scala/com/cloudinary/SearchParametersSpec.scala
@@ -2,10 +2,12 @@ package com.cloudinary
import com.cloudinary.Api.{ASCENDING, DESCENDING}
import com.cloudinary.parameters.SearchParameters
-import org.scalatest.{FlatSpec, Inside, Matchers, OptionValues}
import org.json4s.native.Serialization.write
+import org.scalatest.flatspec.AnyFlatSpec
+import org.scalatest.matchers.should.Matchers
+import org.scalatest.{Inside, OptionValues}
-class SearchParametersSpec extends FlatSpec with Matchers with OptionValues with Inside {
+class SearchParametersSpec extends AnyFlatSpec with Matchers with OptionValues with Inside {
import SearchParameters.formats
behavior of "SearchParameters"
diff --git a/cloudinary-core/src/test/scala/com/cloudinary/SearchSpec.scala b/cloudinary-core/src/test/scala/com/cloudinary/SearchSpec.scala
index 47d714a..e8a55aa 100644
--- a/cloudinary-core/src/test/scala/com/cloudinary/SearchSpec.scala
+++ b/cloudinary-core/src/test/scala/com/cloudinary/SearchSpec.scala
@@ -3,7 +3,8 @@ package com.cloudinary
import com.cloudinary.Api.ASCENDING
import com.cloudinary.parameters.UploadParameters
import com.cloudinary.response.CustomCoordinate
-import org.scalatest.{BeforeAndAfterAll, Inside, Matchers, OptionValues}
+import org.scalatest.matchers.should.Matchers
+import org.scalatest.{BeforeAndAfterAll, Inside, OptionValues}
import scala.concurrent.Await
import scala.concurrent.ExecutionContext.Implicits.global
diff --git a/cloudinary-core/src/test/scala/com/cloudinary/TransformationSpec.scala b/cloudinary-core/src/test/scala/com/cloudinary/TransformationSpec.scala
index aaa808c..f607329 100644
--- a/cloudinary-core/src/test/scala/com/cloudinary/TransformationSpec.scala
+++ b/cloudinary-core/src/test/scala/com/cloudinary/TransformationSpec.scala
@@ -2,9 +2,12 @@ package com.cloudinary
import scala.language.postfixOps
import org.scalatest._
-import org.scalatest.Matchers
+import matchers.should._
-class TransformationSpec extends FlatSpec with Matchers with OptionValues with Inside {
+import org.scalatest.flatspec.AnyFlatSpec
+
+
+class TransformationSpec extends AnyFlatSpec with Matchers with OptionValues with Inside {
behavior of "A Transformation"
lazy val cloudinary = {
diff --git a/cloudinary-core/src/test/scala/com/cloudinary/UploaderSpec.scala b/cloudinary-core/src/test/scala/com/cloudinary/UploaderSpec.scala
index c856c2b..21fcc31 100644
--- a/cloudinary-core/src/test/scala/com/cloudinary/UploaderSpec.scala
+++ b/cloudinary-core/src/test/scala/com/cloudinary/UploaderSpec.scala
@@ -7,7 +7,8 @@ import com.cloudinary.parameters._
import com.cloudinary.response._
import com.ning.http.client.Request
import com.ning.http.client.multipart.StringPart
-import org.scalatest.{Matchers, _}
+import org.scalatest.{BeforeAndAfterAll, Inside, OptionValues, Tag, matchers}
+import matchers.should._
import scala.concurrent.Await
import scala.concurrent.ExecutionContext.Implicits.global
@@ -292,10 +293,11 @@ class UploaderSpec extends MockableFlatSpec with Matchers with OptionValues with
}
it should "support requesting detection" in {
+ //Detection invalid model 'illegal'".equals(message)
val error = Await.result(for {
e <- uploader.upload(s"$testResourcePath/logo.png", options.detection("illegal")).recover{case e => e}
} yield e, 10.seconds)
- error.asInstanceOf[BadRequest].message should include("is invalid")
+ error.asInstanceOf[BadRequest].message should include("invalid model")
}
it should "support uploading large raw files" in {
diff --git a/cloudinary-play-plugin/build.sbt b/cloudinary-play-plugin/build.sbt
index 80ba827..fbea0ed 100644
--- a/cloudinary-play-plugin/build.sbt
+++ b/cloudinary-play-plugin/build.sbt
@@ -13,6 +13,7 @@ resolvers += "sonatype releases" at "https://oss.sonatype.org/content/repositori
resolvers += Resolver.file("Local Ivy", file(Path.userHome + "/.ivy2/local"))(Resolver.ivyStylePatterns)
libraryDependencies += "com.cloudinary" %% "cloudinary-core-scala" % version.value
+libraryDependencies += guice
pomExtra := {
http://cloudinary.com
diff --git a/cloudinary_scala_parent.sbt b/cloudinary_scala_parent.sbt
index 28aea7e..07bbcb8 100644
--- a/cloudinary_scala_parent.sbt
+++ b/cloudinary_scala_parent.sbt
@@ -10,6 +10,6 @@ lazy val cloudinaryPlayPlugin = project.in( file("cloudinary-play-plugin") ).en
lazy val photoAlbumScala = project.in( file("samples/photo_album") ).settings(publishArtifact := false).enablePlugins(PlayScala).dependsOn(cloudinaryPlayPlugin)
-lazy val root = project.in( file(".") ).aggregate(cloudinaryCoreScala, cloudinaryPlayPlugin, photoAlbumScala).settings(
+lazy val root = project.in( file(".") ).aggregate(cloudinaryCoreScala, cloudinaryPlayPlugin).settings(
aggregate in update := false
).settings(publishArtifact := false)
\ No newline at end of file
diff --git a/project/Common.scala b/project/Common.scala
index 6f7878b..4c4b367 100644
--- a/project/Common.scala
+++ b/project/Common.scala
@@ -1,6 +1,6 @@
object Common {
def version = "1.2.2"
- def playVersion = System.getProperty("play.version", "2.4.2")
- def scalaVersion = "2.11.5"
- def scalaVersions = Seq("2.10.4", scalaVersion)
+ def playVersion = System.getProperty("play.version", "2.6.6")
+ def scalaVersion = "2.12.8"
+ def scalaVersions = Seq("2.11.5", scalaVersion)
}
diff --git a/project/build.properties b/project/build.properties
index 176a863..c46277f 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -1 +1 @@
-sbt.version=0.13.9
\ No newline at end of file
+sbt.version=1.2.7
\ No newline at end of file
diff --git a/project/plugins.sbt b/project/plugins.sbt
index a34ea1e..b37c3e3 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -2,9 +2,9 @@
resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/"
// Use the Play sbt plugin for Play projects
-addSbtPlugin("com.typesafe.play" % "sbt-plugin" % System.getProperty("play.version", "2.4.2"))
+addSbtPlugin("com.typesafe.play" % "sbt-plugin" % System.getProperty("play.version", "2.6.6"))
-addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.0.0")
+addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2")
// prefer to depend on these in ~/.sbt since this is only relevant for releasers
diff --git a/samples/photo_album/build.sbt b/samples/photo_album/build.sbt
index dd7d8c4..5662735 100644
--- a/samples/photo_album/build.sbt
+++ b/samples/photo_album/build.sbt
@@ -6,8 +6,8 @@ scalaVersion := Common.scalaVersion
libraryDependencies ++= Seq(
"com.h2database" % "h2" % "1.4.188",
- "com.typesafe.play" %% "play-slick" % "1.0.1",
- "com.typesafe.play" %% "play-slick-evolutions" % "1.0.1",
+ "com.typesafe.play" %% "play-slick" % "3.0.4",
+ "com.typesafe.play" %% "play-slick-evolutions" % "3.0.4",
evolutions
)