2015-06-09 05:05:05 +08:00
|
|
|
enablePlugins(JavaServerAppPackaging)
|
2015-05-12 06:25:11 +08:00
|
|
|
|
2015-06-09 04:32:03 +08:00
|
|
|
name := "bbb-apps-akka"
|
2015-05-12 06:25:11 +08:00
|
|
|
|
|
|
|
organization := "org.bigbluebutton"
|
|
|
|
|
2015-08-27 01:51:05 +08:00
|
|
|
version := "0.0.2"
|
2015-05-12 06:25:11 +08:00
|
|
|
|
2017-05-09 03:43:19 +08:00
|
|
|
scalaVersion := "2.12.2"
|
2015-05-12 06:25:11 +08:00
|
|
|
|
|
|
|
scalacOptions ++= Seq(
|
|
|
|
"-unchecked",
|
|
|
|
"-deprecation",
|
|
|
|
"-Xlint",
|
|
|
|
"-Ywarn-dead-code",
|
|
|
|
"-language:_",
|
2017-05-09 03:43:19 +08:00
|
|
|
"-target:jvm-1.8",
|
2015-05-12 06:25:11 +08:00
|
|
|
"-encoding", "UTF-8"
|
|
|
|
)
|
|
|
|
|
|
|
|
resolvers ++= Seq(
|
|
|
|
"spray repo" at "http://repo.spray.io/",
|
2015-05-14 04:23:49 +08:00
|
|
|
"rediscala" at "http://dl.bintray.com/etaty/maven",
|
|
|
|
"blindside-repos" at "http://blindside.googlecode.com/svn/repository/"
|
2015-05-12 06:25:11 +08:00
|
|
|
)
|
|
|
|
|
2016-05-21 04:27:52 +08:00
|
|
|
resolvers += Resolver.sonatypeRepo("releases")
|
2017-07-15 05:50:34 +08:00
|
|
|
resolvers += Resolver.typesafeRepo("releases")
|
2016-05-21 04:27:52 +08:00
|
|
|
|
2015-05-12 06:25:11 +08:00
|
|
|
publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath+"/dev/repo/maven-repo/releases" )) )
|
|
|
|
|
|
|
|
// We want to have our jar files in lib_managed dir.
|
|
|
|
// This way we'll have the right path when we import
|
|
|
|
// into eclipse.
|
|
|
|
retrieveManaged := true
|
|
|
|
|
|
|
|
testOptions in Test += Tests.Argument(TestFrameworks.Specs2, "html", "console", "junitxml")
|
|
|
|
|
|
|
|
testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-h", "target/scalatest-reports")
|
|
|
|
|
2017-05-09 03:43:19 +08:00
|
|
|
val akkaVersion = "2.5.1"
|
|
|
|
val scalaTestV = "2.2.6"
|
|
|
|
|
2015-05-12 06:25:11 +08:00
|
|
|
libraryDependencies ++= {
|
|
|
|
Seq(
|
2015-10-20 03:00:59 +08:00
|
|
|
"ch.qos.logback" % "logback-classic" % "1.0.13" % "runtime",
|
|
|
|
"junit" % "junit" % "4.11",
|
2016-10-06 00:29:37 +08:00
|
|
|
"commons-codec" % "commons-codec" % "1.10",
|
2017-05-25 06:19:03 +08:00
|
|
|
"org.apache.commons" % "commons-lang3" % "3.2"
|
2016-05-16 23:35:36 +08:00
|
|
|
)
|
|
|
|
}
|
2015-05-12 06:25:11 +08:00
|
|
|
|
2017-05-25 06:19:03 +08:00
|
|
|
libraryDependencies += "org.bigbluebutton" % "bbb-common-message_2.12" % "0.0.19-SNAPSHOT"
|
|
|
|
|
2017-05-09 03:43:19 +08:00
|
|
|
// https://mvnrepository.com/artifact/org.scala-lang/scala-library
|
|
|
|
libraryDependencies += "org.scala-lang" % "scala-library" % "2.12.2"
|
|
|
|
// https://mvnrepository.com/artifact/org.scala-lang/scala-compiler
|
|
|
|
libraryDependencies += "org.scala-lang" % "scala-compiler" % "2.12.2"
|
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/com.typesafe.akka/akka-actor_2.12
|
|
|
|
libraryDependencies += "com.typesafe.akka" % "akka-actor_2.12" % "2.5.1"
|
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/com.typesafe.akka/akka-slf4j_2.12
|
|
|
|
libraryDependencies += "com.typesafe.akka" % "akka-slf4j_2.12" % "2.5.1"
|
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/com.github.etaty/rediscala_2.12
|
|
|
|
libraryDependencies += "com.github.etaty" % "rediscala_2.12" % "1.8.0"
|
|
|
|
|
2017-04-26 04:20:41 +08:00
|
|
|
libraryDependencies += "com.softwaremill.quicklens" %% "quicklens" % "1.4.8"
|
2017-05-09 03:43:19 +08:00
|
|
|
libraryDependencies += "com.google.code.gson" % "gson" % "2.8.0"
|
|
|
|
libraryDependencies += "joda-time" % "joda-time" % "2.9.9"
|
|
|
|
libraryDependencies += "io.spray" % "spray-json_2.12" % "1.3.3"
|
2017-05-11 04:22:50 +08:00
|
|
|
libraryDependencies += "org.parboiled" % "parboiled-scala_2.12" % "1.1.8"
|
2017-05-09 03:43:19 +08:00
|
|
|
|
2017-05-10 05:19:22 +08:00
|
|
|
// https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-scala_2.12
|
|
|
|
libraryDependencies += "com.fasterxml.jackson.module" % "jackson-module-scala_2.12" % "2.8.8"
|
2017-05-09 03:43:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
2017-05-10 05:19:22 +08:00
|
|
|
// For generating test reports
|
|
|
|
libraryDependencies += "org.pegdown" % "pegdown" % "1.6.0" % "test"
|
2017-05-09 03:43:19 +08:00
|
|
|
// https://mvnrepository.com/artifact/com.typesafe.akka/akka-testkit_2.12
|
|
|
|
libraryDependencies += "com.typesafe.akka" % "akka-testkit_2.12" % "2.5.1" % "test"
|
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/org.scalactic/scalactic_2.12
|
|
|
|
libraryDependencies += "org.scalactic" % "scalactic_2.12" % "3.0.3" % "test"
|
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/org.scalatest/scalatest_2.12
|
|
|
|
libraryDependencies += "org.scalatest" % "scalatest_2.12" % "3.0.3" % "test"
|
|
|
|
|
|
|
|
libraryDependencies += "org.mockito" % "mockito-core" % "2.7.22" % "test"
|
|
|
|
|
2017-04-26 04:20:41 +08:00
|
|
|
|
2015-05-12 06:25:11 +08:00
|
|
|
|
2017-07-15 05:50:34 +08:00
|
|
|
|
|
|
|
import com.typesafe.sbt.SbtScalariform
|
|
|
|
|
|
|
|
import scalariform.formatter.preferences._
|
|
|
|
import com.typesafe.sbt.SbtScalariform.ScalariformKeys
|
|
|
|
|
|
|
|
SbtScalariform.defaultScalariformSettings
|
|
|
|
|
|
|
|
ScalariformKeys.preferences := ScalariformKeys.preferences.value
|
|
|
|
.setPreference(AlignSingleLineCaseStatements, true)
|
|
|
|
.setPreference(DoubleIndentClassDeclaration, true)
|
|
|
|
.setPreference(AlignParameters, true)
|
|
|
|
|
|
|
|
|
2015-06-09 04:32:03 +08:00
|
|
|
|
|
|
|
|
|
|
|
//-----------
|
|
|
|
// Packaging
|
2015-06-09 05:50:30 +08:00
|
|
|
//
|
|
|
|
// Reference:
|
|
|
|
// https://github.com/muuki88/sbt-native-packager-examples/tree/master/akka-server-app
|
|
|
|
// http://www.scala-sbt.org/sbt-native-packager/index.html
|
2015-06-09 04:32:03 +08:00
|
|
|
//-----------
|
|
|
|
mainClass := Some("org.bigbluebutton.Boot")
|
|
|
|
|
2015-06-09 05:05:05 +08:00
|
|
|
maintainer in Linux := "Richard Alam <ritzalam@gmail.com>"
|
2015-06-11 04:45:57 +08:00
|
|
|
|
2015-06-09 05:05:05 +08:00
|
|
|
packageSummary in Linux := "BigBlueButton Apps (Akka)"
|
2015-06-11 04:45:57 +08:00
|
|
|
|
2015-06-09 04:32:03 +08:00
|
|
|
packageDescription := """BigBlueButton Core Apps in Akka."""
|
|
|
|
|
2015-06-09 05:50:30 +08:00
|
|
|
val user = "bigbluebutton"
|
2015-06-11 04:45:57 +08:00
|
|
|
|
2015-06-09 05:50:30 +08:00
|
|
|
val group = "bigbluebutton"
|
|
|
|
|
|
|
|
// user which will execute the application
|
|
|
|
daemonUser in Linux := user
|
2015-06-11 04:45:57 +08:00
|
|
|
|
2015-06-09 05:50:30 +08:00
|
|
|
// group which will execute the application
|
|
|
|
daemonGroup in Linux := group
|
|
|
|
|
|
|
|
mappings in Universal <+= (packageBin in Compile, sourceDirectory ) map { (_, src) =>
|
|
|
|
// Move the application.conf so the user can override settings here
|
|
|
|
val appConf = src / "main" / "resources" / "application.conf"
|
|
|
|
appConf -> "conf/application.conf"
|
|
|
|
}
|
|
|
|
|
2015-06-09 05:05:05 +08:00
|
|
|
mappings in Universal <+= (packageBin in Compile, sourceDirectory ) map { (_, src) =>
|
2015-06-09 05:50:30 +08:00
|
|
|
// Move logback.xml so the user can override settings here
|
|
|
|
val logConf = src / "main" / "resources" / "logback.xml"
|
|
|
|
logConf -> "conf/logback.xml"
|
2015-06-09 05:05:05 +08:00
|
|
|
}
|
|
|
|
|
2015-06-09 04:32:03 +08:00
|
|
|
debianPackageDependencies in Debian ++= Seq("java7-runtime-headless", "bash")
|