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