Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.earldouglas.xwp.XwpPlugin
- import com.typesafe.sbt.packager.archetypes.JavaAppPackaging
- import sbt._
- import Keys._
- import com.typesafe.sbt.SbtNativePackager._
- object AkkaWorkersBuild extends Build {
- import Resolvers._
- import Dependencies._
- val Organization = "org.akkaworkers"
- val Name = "AkkaWorkers"
- val Version = "1.0.0"
- val ScalaVersion = "2.11.4"
- lazy val akkaWorkersProject = Project(
- id = "akkaworkers",
- base = file("."),
- settings = Defaults.coreDefaultSettings ++ Seq(
- organization := Organization,
- name := Name,
- version := Version,
- scalaVersion := ScalaVersion,
- ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) },
- scalacOptions := Seq("-feature", "-deprecation")
- ),
- aggregate = Seq(akkaworkersProtocol, akkaworkersWeb, akkaworkersWorker))
- lazy val akkaworkersProtocol = Project(
- id = "akkaworkers-protocol",
- base = file("protocol"),
- settings = Defaults.coreDefaultSettings ++ Seq(
- organization := Organization,
- name := Name,
- version := Version,
- scalaVersion := ScalaVersion,
- ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) },
- scalacOptions := Seq("-feature", "-deprecation")
- )
- )
- lazy val akkaworkersWeb = Project(
- id = "akkaworkers-web",
- base = file("web"),
- settings = Defaults.coreDefaultSettings ++ XwpPlugin.jetty() ++ Seq(
- organization := Organization,
- name := Name,
- version := Version,
- scalaVersion := ScalaVersion,
- ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) },
- scalacOptions := Seq("-feature", "-deprecation"),
- libraryDependencies ++= Seq(scalatra, scalatraJson, scalatraAtmosphere, scalatraScalatest),
- libraryDependencies ++= Seq(json4s, jettyPlus, jettyWebapp, jettyWebsocket, javaxServlet)
- )
- ).dependsOn(akkaworkersProtocol)
- lazy val akkaworkersWorker = Project(
- id = "akkaworkers-worker",
- base = file("worker"),
- settings = Defaults.coreDefaultSettings ++ Seq(
- organization := Organization,
- name := Name,
- version := Version,
- scalaVersion := ScalaVersion,
- ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) },
- scalacOptions := Seq("-feature", "-deprecation"),
- libraryDependencies ++= Seq(akkaActor, akkaCluster, akkaContrib)
- )
- ).enablePlugins(JavaAppPackaging)
- object Resolvers {
- val sonatype = Resolver.url("Sonatype Nexus Releases", url("https://oss.sonatype.org/content/repositories/releases"))(Resolver.ivyStylePatterns)
- val typesafe = Resolver.url("Typesafe Releases", url("http://repo.typesafe.com/typesafe/releases/"))(Resolver.ivyStylePatterns)
- }
- object Dependencies {
- lazy val typesafeConfig = "com.typesafe" % "config" % "latest.release"
- lazy val scalatra = "org.scalatra" %% "scalatra" % "latest.release"
- lazy val scalatraJson = "org.scalatra" %% "scalatra-json" % "latest.release"
- lazy val scalatraAtmosphere = "org.scalatra" %% "scalatra-atmosphere" % "latest.release"
- lazy val scalatraScalatest = "org.scalatra" %% "scalatra-scalatest" % "latest.release" % "test"
- lazy val json4s = "org.json4s" %% "json4s-jackson" % "latest.release"
- lazy val jettyPlus = "org.eclipse.jetty" % "jetty-plus" % "9.1.3.v20140225" % "container;provided"
- lazy val jettyWebapp = "org.eclipse.jetty" % "jetty-webapp" % "9.1.3.v20140225" % "container"
- lazy val jettyWebsocket = "org.eclipse.jetty.websocket" % "websocket-server" % "9.1.3.v20140225" % "container;provided"
- lazy val javaxServlet = "javax.servlet" % "javax.servlet-api" % "3.1.0" % "container;provided;test" artifacts Artifact("javax.servlet-api", "jar", "jar")
- lazy val akkaActor = "com.typesafe.akka" %% "akka-actor" % "latest.release"
- lazy val akkaCluster = "com.typesafe.akka" %% "akka-cluster" % "latest.release"
- lazy val akkaContrib = "com.typesafe.akka" %% "akka-contrib" % "latest.release"
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement