diff --git a/build.sbt b/build.sbt index 5d4e99a..b80a10a 100644 --- a/build.sbt +++ b/build.sbt @@ -1,14 +1,14 @@ organization := "com.chrisomeara" name := "pillar-core" -version := "3.0.0" -scalaVersion := "2.12.1" -crossScalaVersions := Seq("2.10.6", "2.11.8", "2.12.1") +version := "3.0.1" +scalaVersion := "2.13.1" homepage := Some(url("https://github.com/comeara/pillar-core")) licenses := Seq("MIT license" -> url("http://www.opensource.org/licenses/mit-license.php")) libraryDependencies ++= Seq( "com.datastax.cassandra" % "cassandra-driver-core" % "3.0.0", "org.mockito" % "mockito-core" % "1.9.5" % "test", - "org.scalatest" %% "scalatest" % "3.0.1" % "test", + "org.scalatest" %% "scalatest" % "3.1.0" % "test", + "org.scalatestplus" %% "scalatestplus-mockito" % "1.0.0-M2" % "test", "org.slf4j" % "slf4j-simple" % "1.7.22" % "test" ) publishMavenStyle := true diff --git a/src/main/scala/com/chrisomeara/pillar/core/AppliedMigrations.scala b/src/main/scala/com/chrisomeara/pillar/core/AppliedMigrations.scala index 0a56403..41aa45c 100644 --- a/src/main/scala/com/chrisomeara/pillar/core/AppliedMigrations.scala +++ b/src/main/scala/com/chrisomeara/pillar/core/AppliedMigrations.scala @@ -5,14 +5,14 @@ import java.util.Date import com.datastax.driver.core.Session import com.datastax.driver.core.querybuilder.QueryBuilder -import scala.collection.JavaConversions +import scala.jdk.CollectionConverters._ object AppliedMigrations { def apply(session: Session, registry: Registry): AppliedMigrations = { val results = session.execute(QueryBuilder.select("authored_at", "description").from("applied_migrations")) - new AppliedMigrations(JavaConversions.asScalaBuffer(results.all()).map { + new AppliedMigrations(results.all().asScala.map { row => registry(MigrationKey(row.getTimestamp("authored_at"), row.getString("description"))) - }) + }.toSeq) } } diff --git a/src/main/scala/com/chrisomeara/pillar/core/Parser.scala b/src/main/scala/com/chrisomeara/pillar/core/Parser.scala index bc94a50..47bbd23 100644 --- a/src/main/scala/com/chrisomeara/pillar/core/Parser.scala +++ b/src/main/scala/com/chrisomeara/pillar/core/Parser.scala @@ -16,23 +16,23 @@ class PartialMigration { var description: String = "" var authoredAt: String = "" - var upStages = new mutable.MutableList[String]() - var downStages : Option[mutable.MutableList[String]] = None + var upStages = new mutable.ArrayDeque[String]() + var downStages : Option[mutable.ArrayDeque[String]] = None - var currentUp = new mutable.MutableList[String]() - var currentDown: Option[mutable.MutableList[String]] = None + var currentUp = new mutable.ArrayDeque[String]() + var currentDown: Option[mutable.ArrayDeque[String]] = None def rotateUp(): Unit = { upStages += currentUp.mkString("\n") upStages = upStages.filterNot(line => line.isEmpty) - currentUp = new mutable.MutableList[String]() + currentUp = new mutable.ArrayDeque[String]() } def rotateDown(): Unit = { currentDown match { case Some(currentDownLines) => downStages match { - case None => downStages = Some(new mutable.MutableList[String]()) + case None => downStages = Some(new mutable.ArrayDeque[String]()) case Some(_) => } @@ -95,14 +95,14 @@ class Parser { state = ParsingUp case MatchAttribute("down", _) => inProgress.rotateUp() - inProgress.currentDown = Some(new mutable.MutableList[String]()) + inProgress.currentDown = Some(new mutable.ArrayDeque[String]()) state = ParsingDown case MatchAttribute("stage", number) => state match { case ParsingUp => state = ParsingUpStage case ParsingUpStage => inProgress.rotateUp() case ParsingDown => state = ParsingDownStage - case ParsingDownStage => inProgress.rotateDown(); inProgress.currentDown = Some(new mutable.MutableList[String]()) + case ParsingDownStage => inProgress.rotateDown(); inProgress.currentDown = Some(new mutable.ArrayDeque[String]()) } case cql => if (!cql.isEmpty) { @@ -121,11 +121,11 @@ class Parser { inProgress.downStages match { case Some(downLines) => if (downLines.forall(line => line.isEmpty)) { - Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages, None) + Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages.toSeq, None) } else { - Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages, Some(downLines)) + Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages.toSeq, Some(downLines.toSeq)) } - case None => Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages) + case None => Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages.toSeq) } } } diff --git a/src/test/scala/com/chrisomeara/pillar/core/MigrationSpec.scala b/src/test/scala/com/chrisomeara/pillar/core/MigrationSpec.scala index a11752b..4388f8a 100644 --- a/src/test/scala/com/chrisomeara/pillar/core/MigrationSpec.scala +++ b/src/test/scala/com/chrisomeara/pillar/core/MigrationSpec.scala @@ -3,7 +3,7 @@ package com.chrisomeara.pillar.core import java.util.Date import org.scalatest.{FunSpec, Matchers} -import org.scalatest.mock.MockitoSugar +import org.scalatestplus.mockito.MockitoSugar class MigrationSpec extends FunSpec with Matchers with MockitoSugar { describe(".apply") { diff --git a/src/test/scala/com/chrisomeara/pillar/core/PrintStreamReporterSpec.scala b/src/test/scala/com/chrisomeara/pillar/core/PrintStreamReporterSpec.scala index 6bbe3d3..7fd53d1 100644 --- a/src/test/scala/com/chrisomeara/pillar/core/PrintStreamReporterSpec.scala +++ b/src/test/scala/com/chrisomeara/pillar/core/PrintStreamReporterSpec.scala @@ -5,7 +5,7 @@ import java.util.Date import com.datastax.driver.core.Session import org.scalatest._ -import org.scalatest.mock.MockitoSugar +import org.scalatestplus.mockito.MockitoSugar class PrintStreamReporterSpec extends FunSpec with MockitoSugar with Matchers with OneInstancePerTest { val session = mock[Session] diff --git a/src/test/scala/com/chrisomeara/pillar/core/RegistrySpec.scala b/src/test/scala/com/chrisomeara/pillar/core/RegistrySpec.scala index df6f7b8..44dbb74 100644 --- a/src/test/scala/com/chrisomeara/pillar/core/RegistrySpec.scala +++ b/src/test/scala/com/chrisomeara/pillar/core/RegistrySpec.scala @@ -3,7 +3,7 @@ package com.chrisomeara.pillar.core import java.io.File import java.util.Date -import org.scalatest.mock.MockitoSugar +import org.scalatestplus.mockito.MockitoSugar import org.scalatest.{BeforeAndAfter, FunSpec, Matchers} class RegistrySpec extends FunSpec with BeforeAndAfter with Matchers with MockitoSugar { diff --git a/src/test/scala/com/chrisomeara/pillar/core/ReportingMigrationSpec.scala b/src/test/scala/com/chrisomeara/pillar/core/ReportingMigrationSpec.scala index 91cccf1..5f6ebad 100644 --- a/src/test/scala/com/chrisomeara/pillar/core/ReportingMigrationSpec.scala +++ b/src/test/scala/com/chrisomeara/pillar/core/ReportingMigrationSpec.scala @@ -3,7 +3,7 @@ package com.chrisomeara.pillar.core import com.datastax.driver.core.Session import org.mockito.Mockito._ import org.scalatest.{FunSpec, Matchers} -import org.scalatest.mock.MockitoSugar +import org.scalatestplus.mockito.MockitoSugar class ReportingMigrationSpec extends FunSpec with Matchers with MockitoSugar { val reporter = mock[Reporter] diff --git a/src/test/scala/com/chrisomeara/pillar/core/ReportingMigratorSpec.scala b/src/test/scala/com/chrisomeara/pillar/core/ReportingMigratorSpec.scala index 2abd419..9c31dcf 100644 --- a/src/test/scala/com/chrisomeara/pillar/core/ReportingMigratorSpec.scala +++ b/src/test/scala/com/chrisomeara/pillar/core/ReportingMigratorSpec.scala @@ -3,7 +3,7 @@ package com.chrisomeara.pillar.core import com.datastax.driver.core.Session import org.mockito.Mockito._ import org.scalatest.FunSpec -import org.scalatest.mock.MockitoSugar +import org.scalatestplus.mockito.MockitoSugar class ReportingMigratorSpec extends FunSpec with MockitoSugar { val reporter = mock[Reporter]