获取ASDF系统的版本

时间:2012-06-18 13:51:18

标签: common-lisp asdf

您可以在ASDF系统中设置的其他内容是:version属性。有没有办法在运行时读取它?像(system-version :my-system-name)这样的东西?

我知道有asdf:version-satisfiesasdf:asdf-version,但在这种情况下我也不想做。

1 个答案:

答案 0 :(得分:6)

以下是代码:

(defun system-version (system-designator)
  (let ((system (asdf:find-system system-designator nil)))
    (when (and system (slot-boundp system 'asdf:version))
      (asdf:component-version system))))

它的工作原理如下:

CL-USER> (system-version :cffi)
"0.10.7.1"
CL-USER> (system-version :foo)
NIL