How do I query what files need to be recompiled?
![](https://secure.gravatar.com/avatar/33dcdaa1e17d65227e213fb38682cb85.jpg?s=120&d=mm&r=g)
http://www.cliki.net/asdf has this FAQ: Q: How do I query what files need to be recompiled? A: With ASDF 3, you can (asdf:required-components system :force nil :force-not nil :keep-component 'asdf:cl-source-file :keep-operation 'asdf:compile-op) However, with ASDF 3.1.6, I find that this does not work as advertised: ;;; system1.asd (asdf:defsystem :system1 :serial t :default-component-class asdf:cl-source-file.cl :components ((:file "one") (:file "two") (:file "three"))) cl-user(8): (asdf:compile-system :system1) t cl-user(9): (asdf:required-components :system1 :force nil :force-not nil :keep-component 'asdf:cl-source-file :keep-operation 'asdf:compile-op) (#<asdf/lisp-action:cl-source-file.cl "system1" "one"> #<asdf/lisp-action:cl-source-file.cl "system1" "two"> #<asdf/lisp-action:cl-source-file.cl "system1" "three">) Is there a new way to achieve the same goal?
![](https://secure.gravatar.com/avatar/36f8c662be54be9df5f17def1e35d47e.jpg?s=120&d=mm&r=g)
BTW, I have whacked the content of that cliki page. We don't have the resources to maintain the cliki pages, the cl.net homepage, and the manual.
![](https://secure.gravatar.com/avatar/0345f6261d6ced21145afdec166fd114.jpg?s=120&d=mm&r=g)
On Mon, Nov 9, 2015 at 2:47 PM, Ahmon Dancy <dancy@franz.com> wrote:
http://www.cliki.net/asdf has this FAQ:
Q: How do I query what files need to be recompiled?
A: With ASDF 3, you can (asdf:required-components system :force nil :force-not nil :keep-component 'asdf:cl-source-file :keep-operation 'asdf:compile-op)
However, with ASDF 3.1.6, I find that this does not work as advertised:
;;; system1.asd (asdf:defsystem :system1 :serial t :default-component-class asdf:cl-source-file.cl :components ((:file "one") (:file "two") (:file "three")))
cl-user(8): (asdf:compile-system :system1) t
cl-user(9): (asdf:required-components :system1 :force nil :force-not nil :keep-component 'asdf:cl-source-file :keep-operation 'asdf:compile-op) (#<asdf/lisp-action:cl-source-file.cl "system1" "one"> #<asdf/lisp-action:cl-source-file.cl "system1" "two"> #<asdf/lisp-action:cl-source-file.cl "system1" "three">)
Is there a new way to achieve the same goal?
If you want only the components that have are in need of recompiling, you need to further filter based on (compute-action-stamp nil o c), as done in asdf/plan:perform-plan. Also, if you want files in other systems as well as in the current one, you need to specify :other-systems t. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org You can avoid reality, but you cannot avoid the consequences of avoiding reality. — Ayn Rand
participants (3)
-
Ahmon Dancy
-
Faré
-
Robert Goldman