diff --git a/build.sbt b/build.sbt index 8422276..f75e68b 100644 --- a/build.sbt +++ b/build.sbt @@ -3,14 +3,15 @@ import Dependencies._ lazy val commonSettings = Seq( organization := "com.example", scalaVersion := "2.12.8", - version := "0.1.0-SNAPSHOT", + version := "1.0.0", mainClass := Some("eu.xeppaka.bot.Main") ) inThisBuild(commonSettings) -lazy val `telegram-bot` = (project in file("telegram-bot")) +lazy val `telegram-bot-delivery` = (project in file(".")) .settings( + name := "telegram-bot-delivery", libraryDependencies ++= Seq( scalaTest % Test, akka, @@ -23,6 +24,10 @@ lazy val `telegram-bot` = (project in file("telegram-bot")) circleGeneric, circleParser, circeAkkaHttp - ) + ), + Docker / defaultLinuxInstallLocation := "/opt/telegram-bot-delivery", + Docker / dockerExposedPorts := Seq(88, 8443), + Docker / dockerRepository := Some("registry.xeppaka.eu:443") ) + .enablePlugins(JavaServerAppPackaging) .enablePlugins(DockerPlugin) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index cc65768..c0cc943 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -1,16 +1,26 @@ import sbt._ +import Dependencies.Versions._ + object Dependencies { - lazy val akka = "com.typesafe.akka" %% "akka-actor" % "2.5.19" - lazy val akkaTyped = "com.typesafe.akka" %% "akka-actor-typed" % "2.5.19" - lazy val akkaStream = "com.typesafe.akka" %% "akka-stream" % "2.5.19" - lazy val akkaHttp = "com.typesafe.akka" %% "akka-http" % "10.1.5" - lazy val akkaPersistence = "com.typesafe.akka" %% "akka-persistence-typed" % "2.5.19" - lazy val levelDbJni = "org.fusesource.leveldbjni" % "leveldbjni-all" % "1.8" - //lazy val vkapi = "com.vk.api" % "sdk" % "0.5.12" - lazy val circleCore = "io.circe" %% "circe-core" % "0.10.0" - lazy val circleGeneric = "io.circe" %% "circe-generic" % "0.10.0" - lazy val circleParser = "io.circe" %% "circe-parser" % "0.10.0" - lazy val circeAkkaHttp = "de.heikoseeberger" %% "akka-http-circe" % "1.22.0" - lazy val scalaTest = "org.scalatest" %% "scalatest" % "3.0.5" + object Versions { + val akkaVersion = "2.5.22" + val akkaHttpVersion = "10.1.8" + val levelDbJniVersion = "1.8" + val circeVersion = "0.11.1" + val akkaHttpCirceVersion = "1.23.0" + val scalaTestVersion = "3.0.5" + } + + lazy val akka = "com.typesafe.akka" %% "akka-actor" % akkaVersion + lazy val akkaTyped = "com.typesafe.akka" %% "akka-actor-typed" % akkaVersion + lazy val akkaStream = "com.typesafe.akka" %% "akka-stream" % akkaVersion + lazy val akkaHttp = "com.typesafe.akka" %% "akka-http" % akkaHttpVersion + lazy val akkaPersistence = "com.typesafe.akka" %% "akka-persistence-typed" % akkaVersion + lazy val levelDbJni = "org.fusesource.leveldbjni" % "leveldbjni-all" % levelDbJniVersion + lazy val circleCore = "io.circe" %% "circe-core" % circeVersion + lazy val circleGeneric = "io.circe" %% "circe-generic" % circeVersion + lazy val circleParser = "io.circe" %% "circe-parser" % circeVersion + lazy val circeAkkaHttp = "de.heikoseeberger" %% "akka-http-circe" % akkaHttpCirceVersion + lazy val scalaTest = "org.scalatest" %% "scalatest" % scalaTestVersion } diff --git a/project/build.properties b/project/build.properties index 72f9028..c0bab04 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.2.7 +sbt.version=1.2.8 diff --git a/telegram-bot/src/main/resources/application.conf b/src/main/resources/application.conf similarity index 100% rename from telegram-bot/src/main/resources/application.conf rename to src/main/resources/application.conf diff --git a/telegram-bot/src/main/resources/logback.xml b/src/main/resources/logback.xml similarity index 100% rename from telegram-bot/src/main/resources/logback.xml rename to src/main/resources/logback.xml diff --git a/telegram-bot/src/main/resources/telegram-bot.p12 b/src/main/resources/telegram-bot.p12 similarity index 100% rename from telegram-bot/src/main/resources/telegram-bot.p12 rename to src/main/resources/telegram-bot.p12 diff --git a/telegram-bot/src/main/resources/telegram-bot.pem b/src/main/resources/telegram-bot.pem similarity index 100% rename from telegram-bot/src/main/resources/telegram-bot.pem rename to src/main/resources/telegram-bot.pem diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/BotUri.scala b/src/main/scala/eu/xeppaka/bot/BotUri.scala similarity index 100% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/BotUri.scala rename to src/main/scala/eu/xeppaka/bot/BotUri.scala diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/CheckDeliveryDialog.scala b/src/main/scala/eu/xeppaka/bot/CheckDeliveryDialog.scala similarity index 100% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/CheckDeliveryDialog.scala rename to src/main/scala/eu/xeppaka/bot/CheckDeliveryDialog.scala diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/CzechPostDeliveryCheck.scala b/src/main/scala/eu/xeppaka/bot/CzechPostDeliveryCheck.scala similarity index 100% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/CzechPostDeliveryCheck.scala rename to src/main/scala/eu/xeppaka/bot/CzechPostDeliveryCheck.scala diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/DialogManager.scala b/src/main/scala/eu/xeppaka/bot/DialogManager.scala similarity index 95% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/DialogManager.scala rename to src/main/scala/eu/xeppaka/bot/DialogManager.scala index d21eeaa..65e7f32 100644 --- a/telegram-bot/src/main/scala/eu/xeppaka/bot/DialogManager.scala +++ b/src/main/scala/eu/xeppaka/bot/DialogManager.scala @@ -4,7 +4,7 @@ import akka.actor.typed.scaladsl.Behaviors import akka.actor.typed.{ActorRef, Behavior, SupervisorStrategy} import akka.persistence.typed.PersistenceId import akka.persistence.typed.scaladsl.EventSourcedBehavior.{CommandHandler, EventHandler} -import akka.persistence.typed.scaladsl.{Effect, EventSourcedBehavior} +import akka.persistence.typed.scaladsl.{Effect, EffectBuilder, EventSourcedBehavior} import akka.util.Timeout import eu.xeppaka.bot.CheckDeliveryDialog.{ProcessMessageFailure, ProcessMessageSuccess} import eu.xeppaka.bot.TelegramEntities.Update @@ -36,7 +36,7 @@ object DialogManager { if (update.message.isDefined) { val chatId = update.message.get.chat.id - val effect: Effect[Event, State] = if (state.dialogs.contains(chatId)) { + val effect: EffectBuilder[Event, State] = if (state.dialogs.contains(chatId)) { Effect.none } else { Effect.persist(DialogAdded(chatId)) diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/Main.scala b/src/main/scala/eu/xeppaka/bot/Main.scala similarity index 100% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/Main.scala rename to src/main/scala/eu/xeppaka/bot/Main.scala diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/PostType.scala b/src/main/scala/eu/xeppaka/bot/PostType.scala similarity index 100% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/PostType.scala rename to src/main/scala/eu/xeppaka/bot/PostType.scala diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/TelegramBot.scala b/src/main/scala/eu/xeppaka/bot/TelegramBot.scala similarity index 100% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/TelegramBot.scala rename to src/main/scala/eu/xeppaka/bot/TelegramBot.scala diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/TelegramEntities.scala b/src/main/scala/eu/xeppaka/bot/TelegramEntities.scala similarity index 100% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/TelegramEntities.scala rename to src/main/scala/eu/xeppaka/bot/TelegramEntities.scala diff --git a/telegram-bot/src/main/scala/eu/xeppaka/bot/TelegramEntitiesDerivations.scala b/src/main/scala/eu/xeppaka/bot/TelegramEntitiesDerivations.scala similarity index 100% rename from telegram-bot/src/main/scala/eu/xeppaka/bot/TelegramEntitiesDerivations.scala rename to src/main/scala/eu/xeppaka/bot/TelegramEntitiesDerivations.scala