1. 23 May, 2017 3 commits
    • 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
      Rename asdf/cache to asdf/session · c1a125bb
      Francois-Rene Rideau authored
      c1a125bb
  2. 16 Oct, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Stop fmakunbound'ing defgeneric's past the upgrade trigger · 8e0ec0e9
      Francois-Rene Rideau authored
      If we fmakunbound a defgeneric, we lose any user-defined method on the function
      and must therefore reload any and every system that might have defined methods
      on it. We must therefore not fmakunbound past the forward compatibility upgrade
      trigger, only before. Adjust our code accordingly. Conservative bounds are used
      in *oldest-forward-compatible-asdf-version* and redefined-functions that should
      probably be refined after some inspection of old versions.
      
      This is a response to https://bugs.launchpad.net/asdf/+bug/1631771
      8e0ec0e9
  3. 25 Sep, 2016 1 commit
  4. 22 Sep, 2016 1 commit
  5. 20 Sep, 2016 1 commit
  6. 16 Sep, 2016 1 commit
  7. 14 Sep, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Fix component-loaded-p to not load asd files · 7f6e4fac
      Francois-Rene Rideau authored
      Add find-component keyword argument registered to not load asd files.
      Use it in component-loaded-p so we query what's registered but don't load asds.
      
      Many thanks to Daniel Kochmanski for identifying and helping solve the problem.
      7f6e4fac
  8. 02 Jul, 2014 1 commit
  9. 21 Mar, 2014 1 commit
  10. 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
  11. 09 Oct, 2013 1 commit
  12. 06 Feb, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.28.1: various upgrade issues · d78df051
      Francois-Rene Rideau authored
      1- To make life easier on Xach, stop requiring asdf.lisp to be loaded as source
      before it's compiled. Instead, wrap each and every single form in an eval-when,
      most of the time via the with-upgradability macro that also transforms
      defun into defun* and defgeneric into defgeneric*.
      Causes massive reindentation :-(
      
      2- Have a proper :version for fallback systems.
      Will make systems that check the version happier.
      
      3- protect a condition with #+sb-eval. Fixes lp#1116408.
      
      4- Protect warnings-file methods with dynamic when *warnings-file-type*
      rather than static #+.
      d78df051
    • Francois-Rene Rideau's avatar
      2.28.1: various upgrade issues · 1e4bafdb
      Francois-Rene Rideau authored
      1- To make life easier on Xach, stop requiring asdf.lisp to be loaded as source
      before it's compiled. Instead, wrap each and every single form in an eval-when,
      most of the time via the with-upgradability macro that also transforms
      defun into defun* and defgeneric into defgeneric*.
      Causes massive reindentation :-(
      
      2- Have a proper :version for fallback systems.
      Will make systems that check the version happier.
      
      3- protect a condition with #+sb-eval. Fixes lp#1116408.
      
      4- Protect warnings-file methods with dynamic when *warnings-file-type*
      rather than static #+.
      1e4bafdb
  13. 24 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.142: Update the system definitions. · 3abb3e42
      Francois-Rene Rideau authored
      A better asdf.asd.
      
      Refactor the preloaded system mechanism, use it for cl-launch 3.21.2.
      
      Rename bundle-pathname to build-pathname, move it from bundle-system to system.
      
      Rename the gcl<2.7 feature gcl2.6. Die on gcl2.5 and earlier.
      Don't even try to compile-file asdf using gcl 2.6, just load the .lisp.
      
      Rename asdf/compatibility to asdf/common-lisp, exporting only CL symbols.
      Fix define-package to correctly handle exporting of NIL.
      
      Also, make it work with Genera, with #'(lambda instead of (lambda,
      and using lisp:loop (via a macro loop*) when destructuring is required.
      
      Document more 2.27 changes in changelog.
      
      If there is no :pathname and no load-pathname,
      do NOT have a system pathname take defaults from *default-pathname-defaults*,
      but make it NIL.
      3abb3e42
  14. 21 Jan, 2013 1 commit
  15. 20 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.126: debugging ecl, upgrade, etc. · 8ec5317d
      Francois-Rene Rideau authored
      Don't key upgrade attempt on source-registry, since things can also change
      in the central-registry, etc.
      Also rename required-files to direct-dependency-files
      Improve the new convenience function pattern to work with operation initargs.
      Implement getcwd on all platforms.
      Actually catch sb-grovel messages.
      
      Tests: make u l=ecl instead of make test-upgrade lisp=ecl
      Tests: put the setup around the script, not inside;
      Tests: start using globals, much easier for debugging
      8ec5317d
  16. 14 Jan, 2013 1 commit
  17. 11 Jan, 2013 2 commits
  18. 09 Jan, 2013 2 commits
  19. 08 Jan, 2013 1 commit