plugins - 无法通过 Leiningen 插件在项目中获取可检测的符号
问题描述
我正在尝试编写一个基于clojure.spec.alpha
. 除其他外,我想获得项目中已指定的所有功能。这是通过调用来完成instrumentable-syms
的clojure.spec.test.alpha
。我的插件中有一个函数可以执行此操作,但是当在另一个项目的上下文中运行时(通过eval-in-project
),可检测符号列表为空。我怀疑这是因为在项目中使用插件的调用fdef
,通常是源文件中的顶级表单并注册规范,没有被评估,因此在调用instrumentable-syms
.
那么我的问题是,如何确保对这些调用进行评估,以便我的插件可以在项目中找到所有规范的函数。
解决方案
尝试做一些事情来加载相关的命名空间,从而使您的程序“栩栩如生”,也许如果您有这样的文件,src/orgname/project/core.clj
您可以尝试调用:
(load "orgname/project/core")
从项目中运行的代码块中。
推荐阅读
- javascript - 带箱线图的 highcharts 雷达图
- java - 在 Android 应用程序中添加关于 Java 部分的意图时出错
- regex - 有没有办法使用 NiFi 将两个 CSV 内容合并为一个 CSV
- excel - 使用 Shape.Copy 时的 Excel VBA 运行时错误 -2147221040
- oauth - 如何在 OpenAM 12 中更改访问令牌的生命周期
- swift - 斯威夫特:反斜杠点“\”是什么意思?意思是?
- html - 如何在 ReactJS 中检查地图执行何时结束
- symfony - 具有多对多关系的表单切换到具有附加字段的间接实体
- javascript - 比 document.createElement 性能更好
- mysql - 如何在具有多个连接和条件的查询中从单个表中删除记录?