plan: implement phase level escalation
Track at which level of nested calls to OPERATE a not-done action is needed; if it is needed at a higher level than previously traversed, then traverse again to schedule it (and its transitive dependencies) to be done in the higher level. This fixes cases, such as in (test-system "cl-protobufs-tests"), where a library was already marked as needed at a low level of OPERATE, but if actually needed at higher level due to a defsystem-depends-on, and was previously not loaded early enough (after this plan refactoring).
Showing
- operate.lisp 5 additions, 1 deletionoperate.lisp
- plan.lisp 35 additions, 23 deletionsplan.lisp
- session.lisp 12 additions, 0 deletionssession.lisp
- test/defsystem-depends-on/overlapping-dependency.asd 2 additions, 3 deletionstest/defsystem-depends-on/overlapping-dependency.asd
- test/test-defsystem-depends-on-phase-overlap.script 3 additions, 1 deletiontest/test-defsystem-depends-on-phase-overlap.script
Loading
Please register or sign in to comment