How do I query what files need to be recompiled?
Faré
fahree at gmail.com
Thu Nov 12 00:07:04 UTC 2015
On Mon, Nov 9, 2015 at 2:47 PM, Ahmon Dancy <dancy at 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
More information about the asdf-devel
mailing list