WIP desktop client for Chatto reimplemented in ScalaFX and Sapphire Framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
3.5 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. name := "chatto-sapphire"
  2. organization := "wow.doge"
  3. scalaVersion := "2.13.1"
  4. mainClass := Some("wow.doge.chatto.Application")
  5. resolvers += "sfxcode-maven" at "https://bintray.com/sfxcode/maven/"
  6. resolvers += "javafx-markdown-renderer" at "https://sandec.bintray.com/repo"
  7. resolvers += "marlonlon-timeago" at "https://dl.bintray.com/marlonlom/timeago"
  8. libraryDependencies += "org.specs2" %% "specs2-core" % "4.7.1" % Test
  9. val JavaFXVersion = "11.0.2"
  10. val osName = System.getProperty("os.name") match {
  11. case n if n.startsWith("Linux") => "linux"
  12. case n if n.startsWith("Mac") => "mac"
  13. case n if n.startsWith("Windows") => "win"
  14. case _ => throw new Exception("Unknown platform!")
  15. }
  16. fork := true
  17. inThisBuild(
  18. List(
  19. scalaVersion := scalaVersion.value, // 2.11.12, or 2.13.2
  20. semanticdbEnabled := true, // enable SemanticDB
  21. semanticdbVersion := scalafixSemanticdb.revision // use Scalafix compatible version
  22. )
  23. )
  24. libraryDependencies ++= Seq(
  25. "base",
  26. "controls",
  27. "fxml",
  28. "graphics",
  29. "media",
  30. "swing",
  31. "web"
  32. ).map(m => "org.openjfx" % s"javafx-$m" % JavaFXVersion classifier osName)
  33. libraryDependencies += "com.sfxcode.sapphire" %% "sapphire-core" % "1.7.3"
  34. libraryDependencies += "com.sfxcode.sapphire" %% "sapphire-extension" % "1.0.6"
  35. libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.3"
  36. libraryDependencies ++= Seq(
  37. "org.typelevel" %% "cats-core" % "2.1.1",
  38. "org.scalafx" %% "scalafx" % "12.0.2-R18",
  39. "org.scalafx" %% "scalafx-extras" % "0.3.4",
  40. "com.softwaremill.sttp.client" %% "json4s" % "2.1.1",
  41. "org.json4s" %% "json4s-jackson" % "3.6.8",
  42. "org.scala-lang.modules" %% "scala-async" % "0.10.0",
  43. "org.scala-lang" % "scala-reflect" % scalaVersion.value % Provided,
  44. "org.kordamp.ikonli" % "ikonli-javafx" % "11.4.0",
  45. "org.kordamp.ikonli" % "ikonli-fontawesome-pack" % "11.4.0",
  46. "org.kordamp.ikonli" % "ikonli-fontawesome5-pack" % "11.4.0",
  47. "org.jsoup" % "jsoup" % "1.13.1",
  48. "com.sandec" % "mdfx" % "0.1.6",
  49. "com.softwaremill.sttp.client" %% "async-http-client-backend-future" % "2.1.1",
  50. "com.softwaremill.quicklens" %% "quicklens" % "1.5.0",
  51. "net.synedra" % "validatorfx" % "0.1.11"
  52. )
  53. libraryDependencies += "org.asynchttpclient" % "async-http-client" % "2.12.1"
  54. libraryDependencies += "com.softwaremill.macwire" %% "macros" % "2.3.3"
  55. scalacOptions ++= Seq(
  56. "-Ymacro-annotations",
  57. "-deprecation",
  58. "-Ywarn-unused:imports"
  59. )
  60. libraryDependencies += "org.scalafx" %% "scalafxml-core-sfx8" % "0.5"
  61. // https://mvnrepository.com/artifact/com.jfoenix/jfoenix
  62. libraryDependencies += "com.jfoenix" % "jfoenix" % "9.0.9"
  63. // https://mvnrepository.com/artifact/org.kordamp.bootstrapfx/bootstrapfx-core
  64. libraryDependencies += "org.kordamp.bootstrapfx" % "bootstrapfx-core" % "0.2.4"
  65. // https://mvnrepository.com/artifact/org.json4s/json4s-ext
  66. libraryDependencies += "org.json4s" %% "json4s-ext" % "3.6.8"
  67. // https://mvnrepository.com/artifact/org.jsoup/jsoup
  68. libraryDependencies += "org.jsoup" % "jsoup" % "1.13.1"
  69. // https://mvnrepository.com/artifact/com.github.marlonlom/timeago
  70. libraryDependencies += "com.github.marlonlom" % "timeago" % "3.0.2"
  71. enablePlugins(BuildInfoPlugin)
  72. buildInfoPackage := "wow.doge.chatto"
  73. buildInfoOptions += BuildInfoOption.BuildTime
  74. enablePlugins(JavaFxPlugin)
  75. javaFxMainClass := "wow.doge.chatto.Application"
  76. javaFxJvmargs := Seq("-Xms512m", "-Xmx1024m", "-XX:ReservedCodeCacheSize=128m")
  77. javaFxTitle := "chatto-sapphire"
  78. javaFxCategory := "Aplication"
  79. javaFxNativeBundles := "deb"
  80. javaFxVerbose := true