2.26.21: move children dependencies from traverse to component-depends-on,
where it ought to always have been, based on a properly cleaned up prepare-op (previously introduced in 2.26.14 as parent-load-op). This is a checkpoint of a mostly working system after major changes; it requires further cleanup and fixes: strangely, fails some tests on CCL but not SBCL. Introduce find-operation as a companion to find-component, subsuming make-sub-operation. The results of component-depends-on are processed with find-operation and resolve-component-spec. component-self-dependencies is fixed to play well with prepare-op. Also, some internal renamings and signature changes: parent-operation becomes upward-operation parent-load-op becomes prepare-op parent-source-load op becomes prepare-source-op parent-component is distinguished from module module-components becomes component-children module-components-by-name becomes component-children-by-name compute-module-components-by-name becomes compute-children-by-name circular-dependency-components becomes circular-dependency-actions component-load-dependencies becomes component-sibling-dependencies (with a stub) introducing child-component, downward-operation. refactoring visit-dependencies to include the loop in which it's always used. refactoring force and force-not processing to use a function action-override-p; force is achieved with a trivial method on operation-done-p for prepare-op, and force-not as a trivial check in visit-action. Tweak tests along the way. Tweak the documentation. Failed to either rename operation-error or introduce action-error in its superclasses: that breaks sb-grovel.
Showing with 407 additions and 411 deletions