1. 23 May, 2017 6 commits
    • Francois-Rene Rideau's avatar
      Replace *defined-systems* by *registered-systems* · a5345448
      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.
      a5345448
    • Francois-Rene Rideau's avatar
      Include DEFINE-OP in mark-component-preloaded · dd29916b
      Francois-Rene Rideau authored
      Move it to asdf/find-system.
      dd29916b
    • Francois-Rene Rideau's avatar
      Refactor load-asd to perform a define-op · 7f92cab9
      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).
      7f92cab9
    • Francois-Rene Rideau's avatar
      Move node visit information from plan to session · aba8811b
      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.
      aba8811b
    • Francois-Rene Rideau's avatar
      Introduce an *asdf-session* that may contain more than a cache. · a925eda1
      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.
      a925eda1
    • Francois-Rene Rideau's avatar
      Rename asdf/cache to asdf/session · c1a125bb
      Francois-Rene Rideau authored
      c1a125bb
  2. 31 Oct, 2016 1 commit
  3. 25 Sep, 2016 3 commits
    • Francois-Rene Rideau's avatar
      Have system-source-file accept NIL as argument. · 7b05f832
      Francois-Rene Rideau authored
      Simplify find-system and a test accordingly.
      
      Also, group map-systems with other related functions.
      7b05f832
    • Francois-Rene Rideau's avatar
      Fix the upgrade hooks · 9b431ca3
      Francois-Rene Rideau authored
      The order in which the upgrade fixups were called wasn't very robust.
      We need to first get a list of systems being defined, then
      clear defined systems (but not asdf, and *neither uiop* that asdf depends on),
      then upgrade the configuration, and *finally* reload any of the systems being
      defined (including their defsystem-depends-on dependencies!),
      which means this all has to be coordinated within the same function.
      9b431ca3
    • Francois-Rene Rideau's avatar
      Remove *post-upgrade-restart-hook* · 3dd1f67d
      Francois-Rene Rideau authored
      p-u-r-h was never called! Two functions were registered.
      Register them with *post-upgrade-cleanup-hook* instead.
      The hook was introduced with pre-release 2.27,
      possibly with the intent to be called by the main operate :around method
      when an asdf build is restarted in the middle. But that never happened.
      3dd1f67d
  4. 22 Sep, 2016 1 commit
  5. 20 Sep, 2016 1 commit
  6. 17 Sep, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Fix declaim ftype for mark-component-preloaded · 96ea9270
      Francois-Rene Rideau authored
      SBCL cares about type declarations, and the declared ftype became a lie
      after allowing arbitrary component designators rather than only components
      in calls to mark-component-preloaded, which *sometimes* caused errors.
      96ea9270
  7. 15 Sep, 2016 2 commits
    • Robert Goldman's avatar
      Minor docstring typos. · 4d4b5222
      Robert Goldman authored
      4d4b5222
    • Francois-Rene Rideau's avatar
      Move auto-version from immutable to preloaded systems · 4344de27
      Francois-Rene Rideau authored
      Daniel Kochmanski convinced me that immutable systems are "just" blessed
      preloaded systems; the automatic version feature of immutable systems can thus
      be generalized to all preloaded systems.
      
      Update several docstrings.
      
      Also, document that direct access to *immutable-systems* is not supported.
      Contact the maintainers if you need an interface to that.
      4344de27
  8. 14 Sep, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Eagerly register preloaded systems · d33ab0bc
      Francois-Rene Rideau authored
      Change clear-system accordingly, and simplify how we handle immutable systems.
      Add or improve documentation for several of the functions involved.
      
      Also stop advertising asdf::*immutable-systems*;
      instead promote asdf:register-immutable-system.
      
      This is a preliminary to fixing component-loaded-p for preloaded systems.
      d33ab0bc
  9. 13 Sep, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Refactoring: introduce the function REGISTERED-SYSTEM · 7b7b9f0c
      Francois-Rene Rideau authored
      Introduce the function REGISTERED-SYSTEM to abstract over finding a registered
      system by name, without having to take the CDR of the pair with timestamp.
      
      Also, add or improve docstrings for several functions.
      
      This refactoring should not modify any semantics,
      except for introducing this new function.
      7b7b9f0c
  10. 12 Sep, 2016 1 commit
  11. 28 Nov, 2015 1 commit
  12. 17 Nov, 2015 1 commit
    • Francois-Rene Rideau's avatar
      Add tests for defsystem-depends-on · 5a4a89f5
      Francois-Rene Rideau authored
      Attila offered these tests, that currently fail at HEAD,
      for which I have a patch (to be included in next commit).
      They check that an error when loading defsystem-depends-on dependencies
      doesn't cause an incomplete system to be registered but never properly
      parsed, that thereafter pollute the build.
      
      A real solution would imply to fix lp#1500578 though:
         ASDF should handle change in defsystem-depends-on dependencies
         https://bugs.launchpad.net/asdf/+bug/1500578
      5a4a89f5
  13. 10 Jul, 2015 1 commit
  14. 29 Jun, 2015 1 commit
    • Dave Cooper's avatar
      Add and export a register-immutable-system function. · 1b38225b
      Dave Cooper authored
      Make *immutable-systems* also respect preloaded-systems.
      Don't clear immutable-systems as part of clear-system and clear-defined-system.
      Export register-preloaded-system.
      Add a test, ensure bugs are fixed.
      
      This code was written by Dave Cooper then tweaked by Francois-Rene Rideau.
      1b38225b
  15. 27 Apr, 2015 1 commit
  16. 11 Jul, 2014 2 commits
  17. 10 Jul, 2014 3 commits
  18. 09 Jul, 2014 1 commit
  19. 05 Jul, 2014 1 commit
  20. 01 Jul, 2014 1 commit
    • Robert P. Goldman's avatar
      Updated manual. · 567f591a
      Robert P. Goldman authored
      Documented LOCATE-SYSTEM per docstring (which was also copy-edited).
      Corrected description of package used when loading .asd files.
      567f591a
  21. 21 Mar, 2014 1 commit
  22. 20 Mar, 2014 1 commit
    • Francois-Rene Rideau's avatar
      Fold *systems-being-defined* into the *asdf-cache*. · 84e17ea0
      Francois-Rene Rideau authored
      Add regression test for no infinite loop
      when processing asd files that mutually define each other's systems.
      (Prompted by Robert Strandh inquiring about the bug fixed in 2.015.[23]
      after my mentioning an infinite loop in my ASDF3 article.)
      Checked that removing the set-asdf-cache-entry in parse-defsystem triggers the bug.
      84e17ea0
  23. 05 Mar, 2014 1 commit
  24. 28 Feb, 2014 2 commits
  25. 26 Feb, 2014 2 commits
  26. 27 Jan, 2014 2 commits
    • Francois-Rene Rideau's avatar
      More cleanups: · c7d1ce63
      Francois-Rene Rideau authored
      * Add some comments on TRAVERSE-ACTION; expand those on SOURCE-FILE-TYPE.
      * Remove a few unnecessary input-files or output-files methods
      * Remove (declare (ignorable ...)) for specialized arguments. Specialize a few arguments to T.
      * Remove most when-upgrading methods, since we drop data on old incompatible ASDFs.
      c7d1ce63
    • Francois-Rene Rideau's avatar
      Cleanups done or initiated during the ASDF Walkthrough. · f71a8b99
      Francois-Rene Rideau authored
      * load-op needn't be sideway, its sideway dependencies are already provided by prepare-op
      * compile-op should use compile-op (default) not load-op as its downward-operation.
      * no need for an input-files method for prepare-op, nil is the global default.
      * Some documentation for compute-action-stamp.
      * Don't skip upgrade from 1.x on Allegro anymore, since we now correctly punt.
      * Instead of asdf/package:define-package, use the canonical name uiop/package:define-package
      f71a8b99