我希望能够使用的特定插件是jruby-maven-plugin,因此我可以在 clojure 项目中轻松使用 compass。
如果无法使用 maven 插件,那么在 clojure 项目中使用 ruby gem 的最佳策略是什么?
我希望能够使用的特定插件是jruby-maven-plugin,因此我可以在 clojure 项目中轻松使用 compass。
如果无法使用 maven 插件,那么在 clojure 项目中使用 ruby gem 的最佳策略是什么?
以下两个项目提供 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
)
似乎可以使用 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 。