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 )