From 10546516b45b37b013f91db68283e24439168309 Mon Sep 17 00:00:00 2001 From: Felix Dietze Date: Wed, 12 Aug 2020 17:25:50 +0200 Subject: [PATCH] WIP: build.sbt,package.scala,Deps.scala,plugins.sbt,Config.scala,GlobalState.scala,GraphChangesAutomation.scala,GraphChangesAutomationUI.scala,RightSidebar.scala,Crisp.scala --- build.sbt | 15 ++++++++++++++- ids/src/main/scala/wust/ids/package.scala | 5 ----- project/Deps.scala | 2 +- project/plugins.sbt | 1 + util/jvm/src/main/scala/wust/util/Config.scala | 1 + .../scala/wust/webApp/state/GlobalState.scala | 2 -- .../webApp/state/GraphChangesAutomation.scala | 2 -- .../webApp/views/GraphChangesAutomationUI.scala | 2 -- .../scala/wust/webApp/views/RightSidebar.scala | 3 +-- .../src/main/scala/wust/facades/crisp/Crisp.scala | 3 +-- 10 files changed, 19 insertions(+), 17 deletions(-) diff --git a/build.sbt b/build.sbt index 723a63c02..09328c3af 100644 --- a/build.sbt +++ b/build.sbt @@ -7,9 +7,22 @@ dynver in ThisBuild ~= (_.replace('+', '-')) // TODO: https://github.com/dwijnan import Def.{setting => dep} // -- common setting -- -crossScalaVersions in ThisBuild := Seq("2.12.12", "2.13.3") +crossScalaVersions in ThisBuild := Seq("2.12.12")//, "2.13.3") scalaVersion in ThisBuild := crossScalaVersions.value.last + inThisBuild( + List( + semanticdbEnabled := true, // enable SemanticDB + semanticdbVersion := scalafixSemanticdb.revision // use Scalafix compatible version + ) + ) + + +scalafixDependencies in ThisBuild += "org.scala-lang.modules" %% "scala-collection-migrations" % "2.1.4" +addCompilerPlugin(scalafixSemanticdb) +scalacOptions ++= List("-Yrangepos", "-P:semanticdb:synthetics:on") + + Global / onChangedBuildSource := IgnoreSourceChanges // disabled, since it doesn't recover state of devserver lazy val commonSettings = Seq( diff --git a/ids/src/main/scala/wust/ids/package.scala b/ids/src/main/scala/wust/ids/package.scala index b218073f8..ea19e3e8c 100644 --- a/ids/src/main/scala/wust/ids/package.scala +++ b/ids/src/main/scala/wust/ids/package.scala @@ -3,7 +3,6 @@ package wust import java.util.Date import java.time.{LocalDateTime, ZonedDateTime, ZoneOffset, Instant} -import com.github.ghik.silencer.silent import supertagged._ import scala.util.Try @@ -83,7 +82,6 @@ package object ids { @inline def now: EpochMilli = localNow plus delta @inline def zero: EpochMilli = EpochMilli(0L) - @silent("deprecated") def parse(str: String) = Try(Date.parse(str)).toOption.map(EpochMilli(_)) def fromDate(d: Date): EpochMilli = EpochMilli(d.toInstant.toEpochMilli) @@ -108,7 +106,6 @@ package object ids { @inline def toLocalDateTime: LocalDateTime = toZonedDateTime.toLocalDateTime def toZonedDateTime: ZonedDateTime = Instant.ofEpochMilli(t).atZone(ZoneOffset.UTC) - @silent("deprecated") def humanReadable: String = { // java.util.Date is deprecated, but implemented in java and scalajs // and therefore a simple cross-compiling solution @@ -123,7 +120,6 @@ package object ids { f"$year%04d-$month%02d-$day%02d $hour%02d:$minute%02d:$second%02d" } - @silent("deprecated") def isoDate: String = { // java.util.Date is deprecated, but implemented in java and scalajs // and therefore a simple cross-compiling solution @@ -135,7 +131,6 @@ package object ids { f"$year%04d-$month%02d-$day%02d" } - @silent("deprecated") def isoDateAndTime: String = { // java.util.Date is deprecated, but implemented in java and scalajs // and therefore a simple cross-compiling solution diff --git a/project/Deps.scala b/project/Deps.scala index 992539c3e..1effcbcba 100644 --- a/project/Deps.scala +++ b/project/Deps.scala @@ -79,7 +79,7 @@ object Deps { val base58s = dep("io.github.fdietze.base58s" %%% "base58s" % "43d5684") val monix = dep("io.monix" %%% "monix" % "3.2.2") // val taggedTypes = dep("org.rudogma" %%% "supertagged" % "2.0-RC1") - val taggedTypes = dep("com.github.fdietze.scala-supertagged" % "supertagged_2.13" % "0157b28") // until https://github.com/rudogma/scala-supertagged/pull/2 is merged + val taggedTypes = dep("com.github.fdietze.scala-supertagged" %%% "supertagged" % "0157b28") // until https://github.com/rudogma/scala-supertagged/pull/2 is merged val colorado = dep("com.github.fdietze.colorado" %%% "colorado" % "d36c389") val scalacss = dep("com.github.japgolly.scalacss" %%% "core" % "0.6.1") val kantanRegex = new { diff --git a/project/plugins.sbt b/project/plugins.sbt index 2c0ce4f1c..81a3d4ce7 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -21,3 +21,4 @@ addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.7") /* addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1") */ /* addSbtPlugin("org.scoverage" % "sbt-coveralls" % "1.2.6") */ +addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.19") diff --git a/util/jvm/src/main/scala/wust/util/Config.scala b/util/jvm/src/main/scala/wust/util/Config.scala index 570dc334b..0c103e48f 100644 --- a/util/jvm/src/main/scala/wust/util/Config.scala +++ b/util/jvm/src/main/scala/wust/util/Config.scala @@ -2,6 +2,7 @@ package wust.util import pureconfig._ import pureconfig.error.{ConvertFailure, KeyNotFound} +import pureconfig.generic.ProductHint object Config { implicit def hint[T] = diff --git a/webApp/src/main/scala/wust/webApp/state/GlobalState.scala b/webApp/src/main/scala/wust/webApp/state/GlobalState.scala index 9efcfa9a3..2e579f978 100644 --- a/webApp/src/main/scala/wust/webApp/state/GlobalState.scala +++ b/webApp/src/main/scala/wust/webApp/state/GlobalState.scala @@ -1,7 +1,6 @@ package wust.webApp.state // import acyclic.file -import com.github.ghik.silencer.silent import org.scalajs.dom.experimental.permissions.PermissionState import org.scalajs.dom.window import outwatch.dsl.events @@ -100,7 +99,6 @@ object GlobalState { val uiModalConfig = Subject.publish[Ownable[ModalConfig]] val uiModalClose = Subject.publish[Unit] - @silent("deprecated") val rawGraph: Rx[Graph] = { val internalGraph = eventProcessor.graph.unsafeToRx(seed = Graph.empty) diff --git a/webApp/src/main/scala/wust/webApp/state/GraphChangesAutomation.scala b/webApp/src/main/scala/wust/webApp/state/GraphChangesAutomation.scala index 6568bf1ed..1f6e22e03 100644 --- a/webApp/src/main/scala/wust/webApp/state/GraphChangesAutomation.scala +++ b/webApp/src/main/scala/wust/webApp/state/GraphChangesAutomation.scala @@ -1,6 +1,5 @@ package wust.webApp.state -import com.github.ghik.silencer.silent import wust.facades.segment.Segment import org.scalajs.dom import rx.Var @@ -56,7 +55,6 @@ private object StringWalker { object GraphChangesAutomation { val templateVariableRegex = "\\$(@)?\\{woost((\\.[^\\.\\}]+)+)\\}".r - @silent("possible missing interpolator") def replaceVariableInText(userId: UserId, graph: Graph, node: Node, templateText: String, newEdges: mutable.HashMap[NodeId, mutable.ArrayBuffer[(Edge, Node)]], newEdgesReverse: mutable.HashMap[NodeId, mutable.ArrayBuffer[(Edge, Node)]]): (String, Array[Edge]) = try { val extraEdges = Array.newBuilder[Edge] diff --git a/webApp/src/main/scala/wust/webApp/views/GraphChangesAutomationUI.scala b/webApp/src/main/scala/wust/webApp/views/GraphChangesAutomationUI.scala index d006a9b34..f056a6c7e 100644 --- a/webApp/src/main/scala/wust/webApp/views/GraphChangesAutomationUI.scala +++ b/webApp/src/main/scala/wust/webApp/views/GraphChangesAutomationUI.scala @@ -1,7 +1,6 @@ package wust.webApp.views import wust.sdk.{BaseColors, NodeColor} -import com.github.ghik.silencer.silent import outwatch._ import outwatch.dsl._ import colibri.ext.rx._ @@ -27,7 +26,6 @@ import fontAwesome.freeSolid // Offers methods for rendering components for the GraphChangesAutomation. -@silent("possible missing interpolator") object GraphChangesAutomationUI { val createAutomationTemplateText = "Create Template" diff --git a/webApp/src/main/scala/wust/webApp/views/RightSidebar.scala b/webApp/src/main/scala/wust/webApp/views/RightSidebar.scala index 4c5390854..80a681dc7 100644 --- a/webApp/src/main/scala/wust/webApp/views/RightSidebar.scala +++ b/webApp/src/main/scala/wust/webApp/views/RightSidebar.scala @@ -1,7 +1,6 @@ package wust.webApp.views import acyclic.file -import com.github.ghik.silencer.silent import fontAwesome.freeSolid import outwatch._ import outwatch.dsl._ @@ -485,7 +484,7 @@ object RightSidebar { }, customOptions = Some(VDomModifier( UI.checkbox("Create a new node from the reference", isCreateReference), - UI.checkbox("Rename existing node (original content in `${woost.original}`)", isRenameReference): @silent("possible missing interpolator") + UI.checkbox("Rename existing node (original content in `${woost.original}`)", isRenameReference) )) ), ItemProperties.EdgeFactory.Plain(create), diff --git a/webUtil/src/main/scala/wust/facades/crisp/Crisp.scala b/webUtil/src/main/scala/wust/facades/crisp/Crisp.scala index 561b6f5de..2259bc9f5 100644 --- a/webUtil/src/main/scala/wust/facades/crisp/Crisp.scala +++ b/webUtil/src/main/scala/wust/facades/crisp/Crisp.scala @@ -2,11 +2,10 @@ package wust.facades.crisp import scala.scalajs.js import scala.scalajs.js.annotation._ -import com.github.ghik.silencer.silent //TODO: this is a workaround for scalajs: https://github.com/scala-js/scala-js/issues/3737 object JSNames { - @silent("possible missing interpolator") final val Crisp = "$crisp" + final val Crisp = "$crisp" } @js.native @JSGlobal(JSNames.Crisp)