[asdf-devel] Dependency does not trigger recompilation

Robert Goldman rpgoldman at sift.info
Wed Oct 12 16:40:52 UTC 2011


On 10/12/11 Oct 12 -11:06 AM, Juan Jose Garcia-Ripoll wrote:
> I apologize in advance for the stupid newbie question that follows.
> 
> I have the two systems below. When I change a file in cl-farm, it
> recompiles it, but when I demand loading of cl-farm-test again, ASDF
> does not recompile it, even though its dependency has changed. Why? Is
> this expected.
> 
> This all is based on the latest ASDF from git, invoked from Slime (but I
> do not think this makes a difference)
> 
> Juanjo
> 
> (defsystem :cl-farm
>     :serial t
>     :components ((:file "package")
>                  (:file "machines")))
> 
> (defsystem :cl-farm-test
>     :depends-on (:rt :cl-farm)
>     :serial t
>     :components ((:file "tests/package")
>                  (:file "tests/files")
>                  (:file "tests/run")))
> 
> 

Unfortunately, this is the "correct" behavior for ASDF2.  Change
tracking in dependencies is not tracked across system boundaries.

I agree that this should be fixed, but I propose that fixing it is a
gross enough change that when we do it, we should call the result "ASDF 3."

Note also that some people (I am not one of them) have said that this is
a feature:  that it should be the programmer's responsibility to track
changes in a library's API.  For the record, I think (as, I believe, you
do) that it's more appropriate that the computer do this mental
drudgery, instead of the programmer.

Best,
Robert




More information about the asdf-devel mailing list