繁体   English   中英

无法通过 Leiningen 插件在项目中获得可检测的符号

[英]Cannot get instrumentable syms in project via Leiningen plugin

我正在尝试编写一个基于clojure.spec.alpha的 leiningen 插件。 除其他事项外,我想获得项目中已规范的所有功能。 这是通过在clojure.spec.test.alpha调用instrumentable-syms来完成的。 我的插件中有一个函数可以执行此操作,但是当在另一个项目的上下文中运行时(通过eval-in-project ),可检测符号列表为空。 我怀疑这是因为使用插件的项目中对fdef的调用(通常是源文件中的顶级表单并注册规范)没有被评估,因此在调用instrumentable-syms时不会被拾取。

我的问题是,我如何确保这些调用得到评估,以便我的插件可以在项目中找到所有规范的函数。

尝试做一些事情来加载相关的命名空间,从而使您的程序“栩栩如生”,也许如果您有一个像src/orgname/project/core.clj这样的文件,那么您可以尝试调用:

(load "orgname/project/core")

从项目中运行的代码块内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM