5

我希望能够使用的特定插件是jruby-maven-plugin,因此我可以在 clojure 项目中轻松使用 compass。

如果无法使用 maven 插件,那么在 clojure 项目中使用 ruby​​ gem 的最佳策略是什么?

4

2 回答 2

1

以下两个项目提供 ruby​​ gem 支持。 lein -ruby阻塞

clogems 项目在文档方面没有任何东西,因此您可能需要自己处理。

lein-ruby 在它的github页面上提供了一些文档。来自 lein-ruby 的 github 页面。

用法

任务

该插件为 Leiningen 添加了一项任务:

  • lein ruby CMD [ARGS...]- 运行 Ruby 命令

您负责将所需版本的 jruby-complete 添加到项目的依赖项中。

挂钩

该插件还包括一组钩子(在leiningen.ruby.bundler 命名空间中),它们完成三件事:

  • 增加lein deps将捆绑器和项目 Gemfile 中指定的任何 gem 安装到vendor/gems

  • 添加vendor/gems到项目的类路径

  • 将 gemvendor/gems作为项目 jar 的一部分打包

选项

lein-ruby 还引入了两个可以在 project.clj 中设置的选项:

  • :ruby-version- 用于 Ruby 版本lein ruby:“1.8”或“1.9”(默认)

  • :ruby-gem-dir- 用于 gems 的目录,相对于项目根目录(默认为vendor/gems

于 2016-07-12T09:13:20.383 回答
0

似乎可以使用 Maven 插件和依赖项。查看 Leiningen 的GitHub,我发现以下似乎相关的信息:

:dependencies [[org.clojure/clojure "1.8.0"]
               [clj-http "2.0.0"]]

Leiningen 将自动下载 clj-http jar 并确保它在您的类路径中。

...

Leiningen 重用了现有的 JVM 存储库基础架构。有几个流行的开源存储库。Leiningen 默认使用其中的两个:clojars.org 和 Maven Central。

您可以通过在 project.clj 中设置 :repositories 键来添加第三方存储库。有关如何执行此操作的示例,请参见sample.project.clj 。

于 2016-05-09T22:06:55.100 回答