【问题标题】:How i can add github/local dependencies with Boot (clojure)我如何使用 Boot (clojure) 添加 github/local 依赖项
【发布时间】:2015-09-13 18:32:10
【问题描述】:

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

如果没有推送到 clojars/maven,我怎么能做到这一点?

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

谢谢!

更新

我想要的是包含一些现有的 Clojure 项目作为依赖项,类似于 ruby​​ gem 所允许的。 这可以通过 Boot 实现吗?还是我总是需要编译成java?

【问题讨论】:

  • 也许这会有所帮助? stackoverflow.com/questions/4955635/…
  • 不多,我想要的是包含一些现有的 Clojure 项目作为依赖项,类似于 ruby​​ gem 允许的。这可以通过 Boot 实现吗?还是我总是需要编译成java?

标签: clojure boot-clj


【解决方案1】:

这是我在 hoplon 的 castra-simple 示例中设置 castra 的 fork 的方法。

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

打开外壳

git clone castra:repo

在卡斯特拉目录中

文件:build.boot

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

boot watch build-jar

打开新的外壳

git clone castra-simple:repo

简单的卡斯特拉

文件: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

【讨论】:

【解决方案2】:

正如我在 Boot 中发现的,您可以指定源路径:

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

这是将其他项目添加到您的. (添加源代码,而不是 .jar)

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

如果我遗漏了什么,请纠正我。

【讨论】:

  • 这让我解决了一半。我遇到了一个问题,我的库/fork 有一个 build.boot 文件,该文件需要有一些自己的部门,而我的主要 build.boot 文件没有找到。
  • 我已经和 micha 讨论过这个问题,他建议使用 boot checkout -h,这应该是针对这种情况的。
  • @PPPaul boot checkout 现在似乎已弃用,你知道用什么代替它吗?
猜你喜欢
  • 2020-03-18
  • 1970-01-01
  • 1970-01-01
  • 2020-03-15
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
相关资源
最近更新 更多