4
votes

I have a project foo with two children foo-core and foo-cli, foo-cli depends on foo-core (I come from Java/Maven and tried to transpose the parent module with 2 submodules architecture). Following https://github.com/harrah/xsbt/wiki/Full-Configuration, I wrote my project/Build.scala this way:

import sbt._
import Keys._

object MyBuild extends Build {
      //Dependencies
      val slf4s = "com.weiglewilczek.slf4s" %% "slf4s" % "1.0.6"
      val slf4j = "org.slf4j" %% "slf4j-simple" % "1.5.6"
      val grizzled = "org.clapper" %% "grizzled-slf4j" % "0.5"
      val junit = "junit" % "junit" % "4.8" % "test"
      //End dependencies

  lazy val root : Project = Project("root", file(".")) aggregate(cli) settings(
    mainClass:= Some("Main")
  )

  lazy val core : Project = Project("core", file("core"), delegates = root :: Nil) settings(
    name := "foo-core",
    libraryDependencies ++= Seq(grizzled)

    )

  lazy val cli: Project = Project("cli", file("cli")) dependsOn(core) settings(
    name := "foo-cli",
    libraryDependencies ++= Seq(grizzled)
    )
}

This configuration does not work: grizzled library is not dowloaded when I run sbt reload;sbt +update (as indicated in http://software.clapper.org/grizzled-slf4j/) and thus the "import grizzli._" fail in my core and cli projects when I sbt compile.

Since I'm new to scala/sbt I imagine I'm doing something awful but can't figure why since I'm confused with all sbt 0.7/sbt0.10 conflicting configurations that were suggested (like Subproject dependencies in SBT).

Any idea? Hint that could help me?

Thanks in advance

1

1 Answers

2
votes

That's grizzled, not grizzli you are using as dependency. The import is:

import grizzled._

This works here from console on project cli and project core, with nothing more than the configuration file above.

Are you using SBT 0.10?