• Francois-Rene Rideau's avatar
    2.26.21: move children dependencies from traverse to component-depends-on, · 45a36620
    Francois-Rene Rideau authored
    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.
    45a36620
test.lisp 465 Bytes