title: Confused how to set up a multi-project sbt project
body: <p>I'm using sbt .13 here.</p>
  
  <p>I have this so far:</p>
  
  <pre><code>import sbt._
  import Keys._
  import play.Project._
  
  object ApplicationBuild extends Build {
  
    val appVersion = "1.0"
  
    resolvers += "local maven" at "/Users/blankman/.m2/repository/"
  
    val commonDependencies = Seq()
    val modelDependencies = Seq(
      "com.typesafe.slick" %% "slick" % "2.0.1",
      "org.slf4j" % "slf4j-nop" % "1.6.4"
    )
  
    val serviceDependencies = Seq(
      "com.typesafe.slick" %% "slick" % "2.0.1",
      "org.slf4j" % "slf4j-nop" % "1.6.4"
    )
  
    val webDependencies = Seq(
      //"org.apache.tomcat" % "tomcat-jdbc" % "8.0.3",
      "mysql" % "mysql-connector-java" % "5.1.30",
      "com.typesafe.slick" %% "slick" % "2.0.1"
    )
  
  
    lazy val common = Project(
      id = "app-common",
      base = file("app-common"),
      dependencies = commonDependencies
    )
  
    lazy val models = Project(
      id = "app-models",
      base = file("app-models"),
      settings(modelDependencies: _*)
      )
    ).dependsOn(common)
  
    lazy val services = Project(
      id = "app-services",
      base = file("app-services"),
      settings = Seq(
        libraryDependencies ++= serviceDependencies
      )
    ).dependsOn(models, common)
  
  
    lazy val web = play.Project("app-web", appVersion, webDependencies,
                          path = file("app-web"))
                        .settings(playScalaSettings: _*)
                        .dependsOn(services)
  
  }
  </code></pre>
  
  <p>This doesn't work. For example, if I go into:</p>
  
  <p>project app-models</p>
  
  <p>and try and compile, it says compile isn't valid or something.</p>
  
  <p>I'm really confused how to set up a project. What is the correct way?</p>
  
  <p>Looking at this slide #10 here <a href="http://jsuereth.com/scala/2013/06/11/effective-sbt.html" rel="nofollow noreferrer">http://jsuereth.com/scala/2013/06/11/effective-sbt.html</a> it says I can do:</p>
  
  <pre><code>lazy val web = (
    Project("app-models", file("app-models"))
    settings(
       libraryDependencies += modelDependencies
    )
  )
  </code></pre>
  
  <p>But when I do this I get an error also.</p>
  
  <p>I basically have a few projects inside of sbt:</p>
  
  <pre><code>common
  models
  services
  web (which is play)
  </code></pre>
  
  <ul>
  <li>models depends on commons</li>
  <li>services depends on commons + models</li>
  <li>web depends on services</li>
  </ul>
  
  <p>Can someone help me get this to work?</p>