如何使用Boot(clojure)添加github / local依赖项

时间:2015-09-13 18:32:10

标签: clojure boot-clj

例如,我想分叉一些现有的clojar,扩展它并在我的项目中使用。

我怎么能这样做而没有推到clojars / maven?

对这两个选项感兴趣:链接到github和本地路径。

谢谢!

UPD

我想要的是将一些现有的Clojure项目作为依赖项包含在内,就像ruby gem允许的那样。 Boot可以实现吗?或者我总是需要编译成java?

2 个答案:

答案 0 :(得分:3)

以下是我在hoplon的castra示例中设置castra-simple的分叉的方法。

https://github.com/hoplon/demos/tree/master/castra-simple

打开shell

git clone castra:repo

在castra dir

档案:build.boot

; ...
(def +version+ "3.0.0-SNAPSHOT")
; ...

boot watch build-jar

打开新shell

git clone castra-simple:repo

in castra-simple

档案:boot.build

(set-env!
 :dependencies
 '[
   ;; ...
   [hoplon/castra             "3.0.0-SNAPSHOT"] ;;forked repo
   ;; ...
   ]
 :source-paths   #{"src"}
 :resource-paths #{"assets"})

;; ...

(deftask dev
  "Build castra-simple for local development."
  []
  (comp
   (serve
    :handler 'app.handler/app
    :reload true
    :port 8000)
   (watch) (speak) (hoplon) (reload) (cljs-repl) (cljs)

   ;;forked repo
   (checkout :dependencies '[[hoplon/castra "3.0.0-SNAPSHOT"]])))

boot dev

答案 1 :(得分:0)

正如我用Boot计算的那样,您可以指定源路径:

(set-env! :source-paths   #{"src", "../clj-mailgun/src"})

这是将其他项目添加到您的中的唯一方法。 (添加源代码,而不是.jar)

无法指定github链接 - 您应手动克隆它并添加到:source-paths路径。

如果我遗失了某些内容,请纠正我。