From 78a00e2cabe945237055214973ee9b0ffc3d53d4 Mon Sep 17 00:00:00 2001 From: Evgeniy Alekseev Date: Mon, 17 Jan 2022 12:17:39 +0300 Subject: [PATCH] sbt improvelemnts --- .gitignore | 1 + build.sbt | 9 --------- project/build.properties | 2 +- project/plugins.sbt | 4 ++-- .../me/arcanis/ffxivbis/http/RootEndpoint.scala | 2 +- .../arcanis/ffxivbis/service/PartyService.scala | 6 +++--- .../me/arcanis/ffxivbis/utils/Implicits.scala | 17 +++++------------ 7 files changed, 13 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index c2ae8e5..83d6566 100644 --- a/.gitignore +++ b/.gitignore @@ -75,6 +75,7 @@ lib_managed/ src_managed/ project/boot/ project/plugins/project/ +.bsp/ # Scala-IDE specific .scala_dependencies diff --git a/build.sbt b/build.sbt index 635cf64..33b8c82 100644 --- a/build.sbt +++ b/build.sbt @@ -5,12 +5,3 @@ scalaVersion := "2.13.6" scalacOptions ++= Seq("-deprecation", "-feature") enablePlugins(JavaAppPackaging) - -assemblyMergeStrategy in assembly := { - case PathList("META-INF", xs @ _*) => MergeStrategy.discard - case "application.conf" => MergeStrategy.concat - case "module-info.class" => MergeStrategy.first - case x => - val oldStrategy = (assemblyMergeStrategy in assembly).value - oldStrategy(x) -} \ No newline at end of file diff --git a/project/build.properties b/project/build.properties index 04c59a2..dd4ff43 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version = 1.3.3 +sbt.version = 1.6.1 diff --git a/project/plugins.sbt b/project/plugins.sbt index 53e3cd6..99fe992 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.3") +addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.3") addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.4") -addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.10.0-RC1") +addDependencyTreePlugin diff --git a/src/main/scala/me/arcanis/ffxivbis/http/RootEndpoint.scala b/src/main/scala/me/arcanis/ffxivbis/http/RootEndpoint.scala index a81d910..b7b6267 100644 --- a/src/main/scala/me/arcanis/ffxivbis/http/RootEndpoint.scala +++ b/src/main/scala/me/arcanis/ffxivbis/http/RootEndpoint.scala @@ -25,7 +25,7 @@ class RootEndpoint(system: ActorSystem[Nothing], storage: ActorRef[Message], pro private val config = system.settings.config implicit val scheduler: Scheduler = system.scheduler - implicit val timeout: Timeout = config.getDuration("me.arcanis.ffxivbis.settings.request-timeout") + implicit val timeout: Timeout = config.getTimeout("me.arcanis.ffxivbis.settings.request-timeout") private val auth = AuthorizationProvider(config, storage, timeout, scheduler) diff --git a/src/main/scala/me/arcanis/ffxivbis/service/PartyService.scala b/src/main/scala/me/arcanis/ffxivbis/service/PartyService.scala index b11a43e..13161b9 100644 --- a/src/main/scala/me/arcanis/ffxivbis/service/PartyService.scala +++ b/src/main/scala/me/arcanis/ffxivbis/service/PartyService.scala @@ -24,14 +24,14 @@ class PartyService(context: ActorContext[Message], storage: ActorRef[DatabaseMes with StrictLogging { import me.arcanis.ffxivbis.utils.Implicits._ - private val cacheTimeout: FiniteDuration = - context.system.settings.config.getDuration("me.arcanis.ffxivbis.settings.cache-timeout") + private val cacheTimeout = + context.system.settings.config.getFiniteDuration("me.arcanis.ffxivbis.settings.cache-timeout") implicit private val executionContext: ExecutionContext = { val selector = DispatcherSelector.fromConfig("me.arcanis.ffxivbis.default-dispatcher") context.system.dispatchers.lookup(selector) } implicit private val timeout: Timeout = - context.system.settings.config.getDuration("me.arcanis.ffxivbis.settings.request-timeout") + context.system.settings.config.getTimeout("me.arcanis.ffxivbis.settings.request-timeout") implicit private val scheduler: Scheduler = context.system.scheduler override def onMessage(msg: Message): Behavior[Message] = handle(Map.empty)(msg) diff --git a/src/main/scala/me/arcanis/ffxivbis/utils/Implicits.scala b/src/main/scala/me/arcanis/ffxivbis/utils/Implicits.scala index ed312b4..0bcf2d0 100644 --- a/src/main/scala/me/arcanis/ffxivbis/utils/Implicits.scala +++ b/src/main/scala/me/arcanis/ffxivbis/utils/Implicits.scala @@ -11,7 +11,6 @@ package me.arcanis.ffxivbis.utils import akka.util.Timeout import com.typesafe.config.Config -import java.time.Duration import java.util.concurrent.TimeUnit import scala.concurrent.duration.FiniteDuration import scala.language.implicitConversions @@ -19,20 +18,14 @@ import scala.util.Try object Implicits { - implicit def getBooleanFromOptionString(maybeYes: Option[String]): Boolean = maybeYes.map(_.toLowerCase) match { - case Some("yes" | "on") => true - case _ => false - } - - implicit def getFiniteDuration(duration: Duration): FiniteDuration = - FiniteDuration(duration.toNanos, TimeUnit.NANOSECONDS) - - implicit def getTimeout(duration: Duration): Timeout = - FiniteDuration(duration.toNanos, TimeUnit.NANOSECONDS) - implicit class ConfigExtension(config: Config) { + def getFiniteDuration(path: String): FiniteDuration = + FiniteDuration(config.getDuration(path, TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS) + def getOptString(path: String): Option[String] = Try(config.getString(path)).toOption.filter(_.nonEmpty) + + def getTimeout(path: String): Timeout = getFiniteDuration(path) } }