From 574cda580870d21de506eecf0ac9dd25bdc4be72 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Wed, 8 Nov 2017 18:28:43 -0800 Subject: Upgrade sbt settings and support Scala 2.12 --- build.sbt | 9 +-- project/build.properties | 5 +- project/plugins.sbt | 2 +- .../scala/xyz/driver/pdsuicommon/db/Sorting.scala | 4 +- .../pdsuicommon/parsers/SearchFilterParser.scala | 11 ++-- .../driver/pdsuicommon/parsers/SortingParser.scala | 6 +- .../driver/pdsuicommon/utils/ServiceUtils.scala | 4 +- .../fakes/entities/recordprocessing.scala | 4 +- .../logging/PhiStringContextSuite.scala | 2 +- .../xyz/driver/pdsuicommon/parsers/TestUtils.scala | 4 +- .../xyz/driver/pdsuicommon/utils/DiffUtils.scala | 68 ---------------------- .../xyz/driver/pdsuidomain/DocumentSuite.scala | 3 +- 12 files changed, 23 insertions(+), 99 deletions(-) delete mode 100644 src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala diff --git a/build.sbt b/build.sbt index f726690..2cccdb4 100644 --- a/build.sbt +++ b/build.sbt @@ -3,14 +3,12 @@ import Keys._ lazy val core = (project in file(".")) .driverLibrary("pds-ui-common") - .settings(scalastyleSettings ++ wartRemoverSettings ++ formatSettings) - .settings(wartremoverErrors in (Compile, compile) --= Seq( - Wart.ImplicitConversion, Wart.MutableDataStructures, Wart.TraversableOps, Wart.OptionPartial)) + .settings(lintingSettings) + .settings(scalacOptions -= "-Xfatal-warnings") // this is needed to ignore unused implicits that are actually used in scala 2.11 .settings(sources in (Compile, doc) := Seq.empty, publishArtifact in (Compile, packageDoc) := false) .settings(libraryDependencies ++= Seq( - "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.8.3", "com.github.pureconfig" %% "pureconfig" % "0.7.2", - "com.lihaoyi" %% "fastparse" % "0.3.7", + "com.lihaoyi" %% "fastparse" % "1.0.0", "com.typesafe.akka" %% "akka-http" % "10.0.10", "com.typesafe.scala-logging" %% "scala-logging" % "3.5.0", "io.getquill" %% "quill-jdbc" % "1.2.1", @@ -25,7 +23,6 @@ lazy val core = (project in file(".")) "com.typesafe" % "config" % "1.3.0", "org.asynchttpclient" % "async-http-client" % "2.0.24", "org.slf4j" % "slf4j-api" % "1.7.21", - "ai.x" %% "diff" % "1.2.0-get-simple-name-fix" % "test", "org.scalacheck" %% "scalacheck" % "1.13.4" % "test", "org.scalatest" %% "scalatest" % "3.0.1" % "test" )) diff --git a/project/build.properties b/project/build.properties index 3507256..b7dd3cb 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1,4 +1 @@ -#Activator-generated Properties -#Wed Jul 06 16:08:49 PDT 2016 -template.uuid=a675a7df-bee3-48df-9eaa-688d99e5814e -sbt.version=0.13.16 +sbt.version=1.0.2 diff --git a/project/plugins.sbt b/project/plugins.sbt index 83fdd9a..30a0355 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" % "1.0.3") diff --git a/src/main/scala/xyz/driver/pdsuicommon/db/Sorting.scala b/src/main/scala/xyz/driver/pdsuicommon/db/Sorting.scala index a2c5a75..8adf629 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/db/Sorting.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/db/Sorting.scala @@ -40,7 +40,7 @@ object Sorting { def filter(sorting: Sorting, p: Dimension => Boolean): Seq[Dimension] = sorting match { case x: Dimension if p(x) => Seq(x) - case x: Dimension => Seq.empty + case _: Dimension => Seq.empty case Sequential(xs) => xs.filter(p) } @@ -51,7 +51,7 @@ object Sorting { r += f(x) r.result() - case x: Dimension => bf.apply().result() + case _: Dimension => bf.apply().result() case Sequential(xs) => xs.collect(f) } diff --git a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala index 718a42d..aeb6c16 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/parsers/SearchFilterParser.scala @@ -5,7 +5,6 @@ import java.util.UUID import xyz.driver.pdsuicommon.utils.Implicits.{toCharOps, toStringOps} import fastparse.all._ import fastparse.core.Parsed -import fastparse.parsers.Intrinsics.CharPred import xyz.driver.pdsuicommon.db.{SearchFilterBinaryOperation, SearchFilterExpr, SearchFilterNAryOperation} import xyz.driver.pdsuicommon.utils.Utils._ @@ -150,14 +149,14 @@ object SearchFilterParser { case head :: Nil => atomParser.parse(head) match { - case Parsed.Success(x, _) => x - case e: Parsed.Failure => throw new ParseQueryArgException("filters" -> formatFailure(1, e)) + case Parsed.Success(x, _) => x + case e: Parsed.Failure[_, _] => throw new ParseQueryArgException("filters" -> formatFailure(1, e)) } case xs => val parsed = xs.map(x => atomParser.parse(x)) val failures: Seq[String] = parsed.zipWithIndex.collect { - case (e: Parsed.Failure, index) => formatFailure(index, e) + case (e: Parsed.Failure[_, _], index) => formatFailure(index, e) } if (failures.isEmpty) { @@ -172,8 +171,8 @@ object SearchFilterParser { } } - private def formatFailure(sectionIndex: Int, e: Parsed.Failure): String = { - s"section $sectionIndex: ${ParseError.msg(e.extra.input, e.extra.traced.expected, e.index)}" + private def formatFailure(sectionIndex: Int, e: Parsed.Failure[_, _]): String = { + s"section $sectionIndex: ${fastparse.core.ParseError.msg(e.extra.input, e.extra.traced.expected, e.index)}" } } diff --git a/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala b/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala index 4bfc669..a04d278 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/parsers/SortingParser.scala @@ -49,7 +49,7 @@ object SortingParser { val parser = sequentialSortingParser(validDimensions.toSeq) parser.parse(rawSorting) match { case Parsed.Success(x, _) => x - case e: Parsed.Failure => + case e: Parsed.Failure[_, _] => throw new ParseQueryArgException("sort" -> formatFailure(e)) } @@ -57,8 +57,8 @@ object SortingParser { } } - private def formatFailure(e: Parsed.Failure): String = { - ParseError.msg(e.extra.input, e.extra.traced.expected, e.index) + private def formatFailure(e: Parsed.Failure[_, _]): String = { + fastparse.core.ParseError.msg(e.extra.input, e.extra.traced.expected, e.index) } } diff --git a/src/main/scala/xyz/driver/pdsuicommon/utils/ServiceUtils.scala b/src/main/scala/xyz/driver/pdsuicommon/utils/ServiceUtils.scala index cf53e6b..68070f4 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/utils/ServiceUtils.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/utils/ServiceUtils.scala @@ -15,8 +15,8 @@ object ServiceUtils extends PhiLogging { def findEqFilter(filter: SearchFilterExpr, dimension: Dimension): Option[SearchFilterExpr] = { filter.find { - case Atom.Binary(dimension, Eq, _) => true - case _ => false + case Atom.Binary(`dimension`, Eq, _) => true + case _ => false } } diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala index 5903dc8..d3d76b8 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/recordprocessing.scala @@ -264,7 +264,7 @@ object recordprocessing { ) } - def nextExtractedDataLabel(dataId: LongId[ExtractedData]): ExtractedDataLabel = { + def nextExtractedDataLabel(): ExtractedDataLabel = { ExtractedDataLabel( id = nextLongId[ExtractedDataLabel], dataId = nextLongId[ExtractedData], @@ -280,7 +280,7 @@ object recordprocessing { extractedData = extractedData, labels = List.fill( nextInt(maxItemsInCollectionNumber) - )(nextExtractedDataLabel(extractedData.id)) + )(nextExtractedDataLabel()) ) } diff --git a/src/test/scala/xyz/driver/pdsuicommon/logging/PhiStringContextSuite.scala b/src/test/scala/xyz/driver/pdsuicommon/logging/PhiStringContextSuite.scala index eb9d9b4..8fd783f 100644 --- a/src/test/scala/xyz/driver/pdsuicommon/logging/PhiStringContextSuite.scala +++ b/src/test/scala/xyz/driver/pdsuicommon/logging/PhiStringContextSuite.scala @@ -4,7 +4,7 @@ import org.scalatest.FreeSpecLike class PhiStringContextSuite extends FreeSpecLike { - class Foo(x: Int, y: String) { + case class Foo(x: Int, y: String) { val z: Boolean = true } diff --git a/src/test/scala/xyz/driver/pdsuicommon/parsers/TestUtils.scala b/src/test/scala/xyz/driver/pdsuicommon/parsers/TestUtils.scala index 09b60ed..8ab2131 100644 --- a/src/test/scala/xyz/driver/pdsuicommon/parsers/TestUtils.scala +++ b/src/test/scala/xyz/driver/pdsuicommon/parsers/TestUtils.scala @@ -21,7 +21,7 @@ object TestUtils { MatchResult( left.isFailure && left.failed.get.getClass == ct.runtimeClass, left match { - case Success(x) => s"$left did not fail" + case Success(_) => s"$left did not fail" case Failure(e) => s"$left did fail with ${Utils.getClassSimpleName(e.getClass)}, " + s"not ${Utils.getClassSimpleName(ct.runtimeClass)}" @@ -45,7 +45,7 @@ object TestUtils { def failureProp: Prop = self match { case Success(x) => false :| s"invalid: $x" - case Failure(e) => true + case Failure(_) => true } } diff --git a/src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala b/src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala deleted file mode 100644 index 156cb08..0000000 --- a/src/test/scala/xyz/driver/pdsuicommon/utils/DiffUtils.scala +++ /dev/null @@ -1,68 +0,0 @@ -package xyz.driver.pdsuicommon.utils - -import java.net.URI -import java.time.{LocalDate, LocalDateTime} - -import ai.x.diff._ -import org.scalatest.Assertions -import xyz.driver.pdsuidomain.entities.{Document, ExtractedData, MedicalRecord} - -import scala.io.AnsiColor - -trait DiffUtils { this: Assertions => - - def assertIdentical[T: DiffShow](left: T, right: T): Unit = { - val diff = DiffShow.diff(left, right) - assert(diff.isIdentical, s"\n${AnsiColor.RESET}$diff") // reset red color - } - - implicit def localTimeDiffShow: DiffShow[LocalDateTime] = new DiffShow[LocalDateTime] { - def show(x: LocalDateTime): String = s"LocalTime($x)" - def diff(left: LocalDateTime, right: LocalDateTime): Comparison = { - if (left.isEqual(right)) Identical(show(left)) - else Different(showChange(left, right)) - } - } - - implicit def localDateDiffShow: DiffShow[LocalDate] = new DiffShow[LocalDate] { - def show(x: LocalDate): String = s"LocalDate($x)" - def diff(left: LocalDate, right: LocalDate): Comparison = { - if (left.isEqual(right)) Identical(show(left)) - else Different(showChange(left, right)) - } - } - - implicit def urlDiffShow: DiffShow[URI] = new DiffShow[URI] { - def show(x: URI): String = s"URI($x)" - def diff(left: URI, right: URI): Comparison = { - if (left.equals(right)) Identical(show(left)) - else Different(showChange(left, right)) - } - } - - implicit def metaDiffShow: DiffShow[MedicalRecord.Meta] = new DiffShow[MedicalRecord.Meta] { - def show(x: MedicalRecord.Meta): String = s"MedicalRecord.Meta($x)" - def diff(left: MedicalRecord.Meta, right: MedicalRecord.Meta): Comparison = { - if (left.equals(right)) Identical(show(left)) - else Different(showChange(left, right)) - } - } - - implicit def extractedDataMetaDiffShow: DiffShow[ExtractedData.Meta] = new DiffShow[ExtractedData.Meta] { - def show(x: ExtractedData.Meta): String = s"ExtractedData.Meta($x)" - def diff(left: ExtractedData.Meta, right: ExtractedData.Meta): Comparison = { - if (left.equals(right)) Identical(show(left)) - else Different(showChange(left, right)) - } - } - - implicit def documentDiffShow: DiffShow[Document] = new DiffShow[Document] { - def show(x: Document): String = s"Document($x)" - - def diff(left: Document, right: Document): Comparison = { - if (left == right) Identical(show(left)) - else Different(showChange(left, right)) - } - } - -} diff --git a/src/test/scala/xyz/driver/pdsuidomain/DocumentSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/DocumentSuite.scala index 63c4aa2..ccd5a3a 100644 --- a/src/test/scala/xyz/driver/pdsuidomain/DocumentSuite.scala +++ b/src/test/scala/xyz/driver/pdsuidomain/DocumentSuite.scala @@ -7,10 +7,9 @@ import org.scalatest.FreeSpecLike import org.scalatest.concurrent.ScalaFutures import org.scalatest.time.{Millis, Span} import xyz.driver.pdsuicommon.domain.{LongId, TextJson} -import xyz.driver.pdsuicommon.utils.DiffUtils import xyz.driver.pdsuidomain.entities.Document -class DocumentSuite extends FreeSpecLike with DiffUtils with ScalaFutures { +class DocumentSuite extends FreeSpecLike with ScalaFutures { implicit val defaultPatience: PatienceConfig = PatienceConfig(timeout = Span(1000, Millis), interval = Span(20, Millis)) -- cgit v1.2.3