Created
January 28, 2014 16:53
-
-
Save butlermh/8671584 to your computer and use it in GitHub Desktop.
Example sbt build file for multi-module project
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sbt._ | |
import Keys._ | |
import sbtassembly.Plugin._ | |
import AssemblyKeys._ | |
import sbt.Package.ManifestAttributes | |
import sbt.Logger | |
import com.typesafe.sbt.SbtAtmos.{Atmos, atmosSettings, AtmosKeys} | |
object HelloSbtBuild extends Build { | |
// | |
// Project Definitions | |
// | |
// // The root project that aggregates everything else | |
lazy val rootprj = Project( | |
id = "rootprj", | |
base = file(".") | |
).settings(net.virtualvoid.sbt.graph.Plugin.graphSettings: _*) aggregate(module1, module2) | |
lazy val module1 = Project( | |
id = "module1", | |
base = file("module1"), | |
settings = baseSettings ++ Seq( | |
libraryDependencies ++= module1Dependencies | |
) | |
).settings(net.virtualvoid.sbt.graph.Plugin.graphSettings: _*) | |
lazy val module2 = Project( | |
id = "module2", | |
base = file("module2"), | |
settings = baseSettings ++ Seq( | |
libraryDependencies ++= module2Dependencies | |
) | |
).settings(net.virtualvoid.sbt.graph.Plugin.graphSettings: _*) | |
val module1Dependencies = Seq( | |
"org.twitter4j" % "twitter4j-core" % "3.0.3" intransitive(), | |
"org.twitter4j" % "twitter4j-stream" % "3.0.3" intransitive(), | |
"org.twitter4j" % "twitter4j-async" % "3.0.3" intransitive() | |
) | |
val module2Dependencies = Seq( | |
"com.restfb" % "restfb" % "1.6.9" | |
) | |
lazy val baseSettings = Defaults.defaultSettings ++ assemblySettings ++ Seq( | |
conflictWarning := ConflictWarning.disable, | |
resolvers := commonResolvers, | |
retrieveManaged := true | |
) | |
val commonResolvers = Seq( | |
"Cloudera Maven Repo" at "https://repository.cloudera.com/artifactory/cloudera-repos/", | |
"sbt-idea-repo" at "http://mpeltonen.github.com/maven/", | |
"ScalaNLP Maven2" at "http://repo.scalanlp.org/repo/", | |
"repo.novus snaps" at "http://repo.novus.com/snapshots/", | |
"repo.codahale.com" at "http://repo.codahale.com", | |
"Sonatype OSS Releases" at "http://oss.sonatype.org/content/repositories/releases/", | |
"Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/", | |
"Sonatype Releases" at "https://oss.sonatype.org/content/repositories/releases/", | |
"spray repo" at "http://repo.spray.cc", | |
"Akka Repo" at "http://repo.akka.io/releases", | |
"clojars" at "http://clojars.org/repo/", | |
"clojure-releases" at "http://build.clojure.org/releases", | |
"twitter repo" at "http://maven.twttr.com" | |
) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment