1. 20 Jul, 2017 20 commits
    • Francois-Rene Rideau's avatar
      Make test-force pass with asdf-tools · 1eb9210b
      Francois-Rene Rideau authored
      TODO: understand what's going on there...
      1eb9210b
    • Francois-Rene Rideau's avatar
      Correctly track status of actions across phases · 1aec9162
      Francois-Rene Rideau authored
      Do not perform an action twice in a session. Introduce three status bits
      that every action has in a given session, in addition to the stamp:
      KEEP-P (from previous session), DONE-P (and up-to-date, in this image),
      NEED-P (needed in this image as part of this session).
      
      BACKWARD INCOMPATIBILITY: Invert the meaning of NIL and T for STAMP,
      so that NIL means out-of-date. This makes our code conceptually nicer,
      and no one in Quicklisp uses our stamps, anyway. Still, beware.
      1aec9162
    • Francois-Rene Rideau's avatar
    • Francois-Rene Rideau's avatar
      Tweak some tests · 87788ed0
      Francois-Rene Rideau authored
      87788ed0
    • Francois-Rene Rideau's avatar
      Fix compute-action-stamp when stamp is NIL · e7b8ba73
      Francois-Rene Rideau authored
      Stop unnecessarily re-performing initial input-less actions.
      
      Also fix (setf (action-status nil o c) ...),
      which therefore seems not to have been previously used.
      e7b8ba73
    • Francois-Rene Rideau's avatar
      Add test for systems used in multiple phases · 79638a7d
      Francois-Rene Rideau authored
      Add test-defsystem-depends-on-phase-overlap.script (currently failing) to check
      that an action present in multiple phases will only be performed once.
      79638a7d
    • Francois-Rene Rideau's avatar
      Replace *defined-systems* by *registered-systems* · 206c1248
      Francois-Rene Rideau authored
      Use a simple table *registered-systems* mapping name to system,
      and remember timestamps in the COMPONENT-OPERATION-TIME for DEFINE-OP,
      instead of the original *defined-systems* table mapping name to
      cons of timestamp and system.
      206c1248
    • Francois-Rene Rideau's avatar
      Separate forcing from plan · 897a142b
      Francois-Rene Rideau authored
      Move forcing into its own file.
      Include forcing, not plan, among session slots.
      Share a toplevel forcing for all performable plans.
      Have REQUIRE use load-system, not require-system,
      so as not to conflict with session forcing options.
      Don't call with-asdf-session outside the test scripts themselves.
      Cleanup a few scripts accordingly, and beyond.
      897a142b
    • Francois-Rene Rideau's avatar
      51accff1
    • Francois-Rene Rideau's avatar
      Move flag for asdf upgrade from operate to session. · 017cb992
      Francois-Rene Rideau authored
      This should notably prevent recording of a circular dependency of asdf on asdf.
      017cb992
    • Francois-Rene Rideau's avatar
      Introduce primary-system-p · 01d921ae
      Francois-Rene Rideau authored
      Tweak primary-system-name to extract a component's system's primary-name.
      primary-system-p recognizes only systems (not random component) and
      strings that name them.
      01d921ae
    • Francois-Rene Rideau's avatar
      4fad7181
    • Francois-Rene Rideau's avatar
      More refactoring of plan · dea282e9
      Francois-Rene Rideau authored
      Move action-status wholly to plan, merge it with planned-action-status.
      Add a performable-p flag to plans.
      Simplify sequential-plan and required-components; have them use a separate
      function collect-action-dependencies for traversing the graph.
      Add a function action-up-to-date-p to check whether an action is up-to-date,
      without adding it to the plan if it wasn't.
      dea282e9
    • Francois-Rene Rideau's avatar
      Include DEFINE-OP in mark-component-preloaded · 604f5422
      Francois-Rene Rideau authored
      Move it to asdf/find-system.
      604f5422
    • Francois-Rene Rideau's avatar
      3d0d07c3
    • Francois-Rene Rideau's avatar
      Refactor load-asd to perform a define-op · a3b85c8b
      Francois-Rene Rideau authored
      Split asdf/system-registry away from asdf/find-system: the former defines
      the internal *defined-systems* table and the search mechanism, whereas
      the latter keeps the find-system methods, but also defines a new
      define-op operation, on load-asd will call operate.
      
      Reorder dependencies accordingly.
      
      Have forcing come from the plan, so as to not force again actions from
      dependencies that were already performed in a subcall to operate.
      
      Accept asdf.asd from the same version, so asdf.asd doesn't get removed
      at the very next call to operate (which may now come implicitly
      at the least provocation).
      a3b85c8b
    • Francois-Rene Rideau's avatar
      Move node visit information from plan to session · a9c22442
      Francois-Rene Rideau authored
      Significantly refactor plan internals.
      
      Move visited-actions, visiting-action-set, visiting-action-list,
      total-action-count, planned-action-count, planned-output-action-count
      from plan to session (remove the plan- prefix to accessors).
      
      Move sysdef-error from component to session.
      
      Remove plan as a parameter of action-valid-p (made simple defun)
      and while-visiting-action (both moved to action), but also
      map-direct-dependencies, reduce-direct-dependencies, direct-dependencies.
      
      Rename *default-plan-class* to *plan-class*,
      plan-record-dependency to record-dependency,
      plan-action-status to action-status
      plan-forced (accessor) to forced, plan-forced-not (accessor) to forced-not.
      
      Introduce define-op, and visit a suitable action while loading an asd file.
      Accumulate inner operate dependencies in a slot definition-dependencies of
      a registered system or a newly registered undefined-system.
      
      Introduce reset-session or reset-session-visited in various tests,
      so operations aren't considered as layered atop each other, but
      as restarting from a fresh planning session.
      
      Use with-asdf-session in required-components, make-plan.
      
      Stop using node-for, use cons directly, now that operations are safe.
      
      Export format-action from action.
      
      Move some conditions and generic functions around and reorder dependencies.
      a9c22442
    • Francois-Rene Rideau's avatar
      Introduce an *asdf-session* that may contain more than a cache. · f98aaa6b
      Francois-Rene Rideau authored
      Replace with-asdf-cache with with-asdf-session.
      Introduce *asdf-session-class* to hold the class of the session.
      Introduce caching-cache, currently the only session class,
      that only contains a cache, for now.
      f98aaa6b
    • Francois-Rene Rideau's avatar
      Rename asdf/cache to asdf/session · 49dbfc0c
      Francois-Rene Rideau authored
      49dbfc0c
    • Francois-Rene Rideau's avatar
      Fix output-translations in tools/load-asdf.lisp · 5eca3749
      Francois-Rene Rideau authored
      This should make it work on a stricter modern CLISP.
      5eca3749
  2. 06 Jul, 2017 2 commits
  3. 23 May, 2017 3 commits
  4. 04 May, 2017 2 commits
  5. 30 Apr, 2017 1 commit
  6. 13 Apr, 2017 2 commits
  7. 03 Apr, 2017 10 commits