I'm trying to use the Checkout Dependencies feature in Leiningen to work on a project that uses a checkout of Flambo. My project.clj
looks something like:
(defproject spark-streaming "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.5.1"]
[yieldbot/flambo "0.4.0-SNAPSHOT"]
[amazonica "0.2.29"]
[clj-time "0.8.0"]] ;other stuff omitted
My directory structure looks like this:
|- checkouts
|- <need symlink to yieldbot/flambo>
|- src
|- project.clj
What I tried:
- Since the library name contains a slash, I can't make a symlink named
"yieldbot/flambo"
to the actual location of Flambo. I can't do this either:
|- checkouts |- yieldbot |- flambo //this is a symlink
because Lein expects a project.clj in the yieldbot
directory. Doing lein classpath
confirms that my checkout isn't being used.
- Directly checkout
flambo
intocheckouts/yieldbot
. Doesn't work, for the same reason as above
What can I do?
The only thing lein expects in the directory directly underneath checkouts is a project.clj file. The organization namespace is inferred from that project file, and has nothing to do with the directory structure above the symlink.
In your flambo project file, make sure you have
(defproject yieldbot/flambo "version" ...
correctly. Then in your checkouts of your spark-streaming project, create a symlink to theflambo
directory itself.