Advertisement
Guest User

Untitled

a guest
Dec 26th, 2014
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 4.34 KB | None | 0 0
  1. import com.earldouglas.xwp.XwpPlugin
  2. import com.typesafe.sbt.packager.archetypes.JavaAppPackaging
  3. import sbt._
  4. import Keys._
  5. import com.typesafe.sbt.SbtNativePackager._
  6.  
  7. object AkkaWorkersBuild extends Build {
  8.   import Resolvers._
  9.   import Dependencies._
  10.  
  11.   val Organization = "org.akkaworkers"
  12.   val Name = "AkkaWorkers"
  13.   val Version = "1.0.0"
  14.   val ScalaVersion = "2.11.4"
  15.  
  16.   lazy val akkaWorkersProject = Project(
  17.     id = "akkaworkers",
  18.     base = file("."),
  19.     settings = Defaults.coreDefaultSettings ++ Seq(
  20.       organization := Organization,
  21.       name := Name,
  22.       version := Version,
  23.       scalaVersion := ScalaVersion,
  24.       ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) },
  25.       scalacOptions := Seq("-feature", "-deprecation")
  26.     ),
  27.     aggregate = Seq(akkaworkersProtocol, akkaworkersWeb, akkaworkersWorker))
  28.  
  29.   lazy val akkaworkersProtocol = Project(
  30.     id = "akkaworkers-protocol",
  31.     base = file("protocol"),
  32.     settings = Defaults.coreDefaultSettings ++ Seq(
  33.       organization := Organization,
  34.       name := Name,
  35.       version := Version,
  36.       scalaVersion := ScalaVersion,
  37.       ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) },
  38.       scalacOptions := Seq("-feature", "-deprecation")
  39.     )
  40.   )
  41.  
  42.   lazy val akkaworkersWeb = Project(
  43.     id = "akkaworkers-web",
  44.     base = file("web"),
  45.     settings = Defaults.coreDefaultSettings ++ XwpPlugin.jetty() ++ Seq(
  46.       organization := Organization,
  47.       name := Name,
  48.       version := Version,
  49.       scalaVersion := ScalaVersion,
  50.       ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) },
  51.       scalacOptions := Seq("-feature", "-deprecation"),
  52.       libraryDependencies ++= Seq(scalatra, scalatraJson, scalatraAtmosphere, scalatraScalatest),
  53.       libraryDependencies ++= Seq(json4s, jettyPlus, jettyWebapp, jettyWebsocket, javaxServlet)
  54.     )
  55.   ).dependsOn(akkaworkersProtocol)
  56.  
  57.   lazy val akkaworkersWorker = Project(
  58.     id = "akkaworkers-worker",
  59.     base = file("worker"),
  60.     settings = Defaults.coreDefaultSettings ++ Seq(
  61.       organization := Organization,
  62.       name := Name,
  63.       version := Version,
  64.       scalaVersion := ScalaVersion,
  65.       ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) },
  66.       scalacOptions := Seq("-feature", "-deprecation"),
  67.       libraryDependencies ++= Seq(akkaActor, akkaCluster, akkaContrib)
  68.     )
  69.   ).enablePlugins(JavaAppPackaging)
  70.  
  71.   object Resolvers {
  72.     val sonatype = Resolver.url("Sonatype Nexus Releases", url("https://oss.sonatype.org/content/repositories/releases"))(Resolver.ivyStylePatterns)
  73.     val typesafe = Resolver.url("Typesafe Releases", url("http://repo.typesafe.com/typesafe/releases/"))(Resolver.ivyStylePatterns)
  74.   }
  75.  
  76.   object Dependencies {
  77.     lazy val typesafeConfig     = "com.typesafe"                %  "config"               % "latest.release"
  78.  
  79.     lazy val scalatra           = "org.scalatra"                %% "scalatra"             % "latest.release"
  80.     lazy val scalatraJson       = "org.scalatra"                %% "scalatra-json"        % "latest.release"
  81.     lazy val scalatraAtmosphere = "org.scalatra"                %% "scalatra-atmosphere"  % "latest.release"
  82.     lazy val scalatraScalatest  = "org.scalatra"                %% "scalatra-scalatest"   % "latest.release"  % "test"
  83.     lazy val json4s             = "org.json4s"                  %% "json4s-jackson"       % "latest.release"
  84.     lazy val jettyPlus          = "org.eclipse.jetty"           %  "jetty-plus"           % "9.1.3.v20140225" % "container;provided"
  85.     lazy val jettyWebapp        = "org.eclipse.jetty"           %  "jetty-webapp"         % "9.1.3.v20140225"  % "container"
  86.     lazy val jettyWebsocket     = "org.eclipse.jetty.websocket" %  "websocket-server"     % "9.1.3.v20140225"  % "container;provided"
  87.     lazy val javaxServlet       = "javax.servlet"               %  "javax.servlet-api"    % "3.1.0"            % "container;provided;test" artifacts Artifact("javax.servlet-api", "jar", "jar")
  88.  
  89.     lazy val akkaActor          = "com.typesafe.akka"         %% "akka-actor"             % "latest.release"
  90.     lazy val akkaCluster        = "com.typesafe.akka"         %% "akka-cluster"           % "latest.release"
  91.     lazy val akkaContrib        = "com.typesafe.akka"         %% "akka-contrib"           % "latest.release"
  92.   }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement