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

name := "chatto-sapphire"
organization := "wow.doge"
scalaVersion := "2.13.1"
mainClass := Some("wow.doge.chatto.Application")
resolvers += "sfxcode-maven" at "https://bintray.com/sfxcode/maven/"
resolvers += "javafx-markdown-renderer" at "https://sandec.bintray.com/repo"
resolvers += "marlonlon-timeago" at "https://dl.bintray.com/marlonlom/timeago"
libraryDependencies += "org.specs2" %% "specs2-core" % "4.7.1" % Test
val JavaFXVersion = "11.0.2"
val osName = System.getProperty("os.name") match {
case n if n.startsWith("Linux") => "linux"
case n if n.startsWith("Mac") => "mac"
case n if n.startsWith("Windows") => "win"
case _ => throw new Exception("Unknown platform!")
}
fork := true
inThisBuild(
List(
scalaVersion := scalaVersion.value, // 2.11.12, or 2.13.2
semanticdbEnabled := true, // enable SemanticDB
semanticdbVersion := scalafixSemanticdb.revision // use Scalafix compatible version
)
)
libraryDependencies ++= Seq(
"base",
"controls",
"fxml",
"graphics",
"media",
"swing",
"web"
).map(m => "org.openjfx" % s"javafx-$m" % JavaFXVersion classifier osName)
libraryDependencies += "com.sfxcode.sapphire" %% "sapphire-core" % "1.7.3"
libraryDependencies += "com.sfxcode.sapphire" %% "sapphire-extension" % "1.0.6"
libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.3"
libraryDependencies ++= Seq(
"org.typelevel" %% "cats-core" % "2.1.1",
"org.scalafx" %% "scalafx" % "12.0.2-R18",
"org.scalafx" %% "scalafx-extras" % "0.3.4",
"com.softwaremill.sttp.client" %% "json4s" % "2.1.1",
"org.json4s" %% "json4s-jackson" % "3.6.8",
"org.scala-lang.modules" %% "scala-async" % "0.10.0",
"org.scala-lang" % "scala-reflect" % scalaVersion.value % Provided,
"org.kordamp.ikonli" % "ikonli-javafx" % "11.4.0",
"org.kordamp.ikonli" % "ikonli-fontawesome-pack" % "11.4.0",
"org.kordamp.ikonli" % "ikonli-fontawesome5-pack" % "11.4.0",
"org.jsoup" % "jsoup" % "1.13.1",
"com.sandec" % "mdfx" % "0.1.6",
"com.softwaremill.sttp.client" %% "async-http-client-backend-future" % "2.1.1",
"com.softwaremill.quicklens" %% "quicklens" % "1.5.0",
"net.synedra" % "validatorfx" % "0.1.11"
)
libraryDependencies += "org.asynchttpclient" % "async-http-client" % "2.12.1"
libraryDependencies += "com.softwaremill.macwire" %% "macros" % "2.3.3"
scalacOptions ++= Seq(
"-Ymacro-annotations",
"-deprecation",
"-Ywarn-unused:imports"
)
libraryDependencies += "org.scalafx" %% "scalafxml-core-sfx8" % "0.5"
// https://mvnrepository.com/artifact/com.jfoenix/jfoenix
libraryDependencies += "com.jfoenix" % "jfoenix" % "9.0.9"
// https://mvnrepository.com/artifact/org.kordamp.bootstrapfx/bootstrapfx-core
libraryDependencies += "org.kordamp.bootstrapfx" % "bootstrapfx-core" % "0.2.4"
// https://mvnrepository.com/artifact/org.json4s/json4s-ext
libraryDependencies += "org.json4s" %% "json4s-ext" % "3.6.8"
// https://mvnrepository.com/artifact/org.jsoup/jsoup
libraryDependencies += "org.jsoup" % "jsoup" % "1.13.1"
// https://mvnrepository.com/artifact/com.github.marlonlom/timeago
libraryDependencies += "com.github.marlonlom" % "timeago" % "3.0.2"
enablePlugins(BuildInfoPlugin)
buildInfoPackage := "wow.doge.chatto"
buildInfoOptions += BuildInfoOption.BuildTime
enablePlugins(JavaFxPlugin)
javaFxMainClass := "wow.doge.chatto.Application"
javaFxJvmargs := Seq("-Xms512m", "-Xmx1024m", "-XX:ReservedCodeCacheSize=128m")
javaFxTitle := "chatto-sapphire"
javaFxCategory := "Aplication"
javaFxNativeBundles := "deb"
javaFxVerbose := true