1. 26 Jul, 2017 1 commit
    • Francois-Rene Rideau's avatar
      Fix more upgrade issues · 65d16a93
      Francois-Rene Rideau authored
      Use :recycle of :asdf/find-system in :asdf/source-registry to migrate symbol
      initialize-source-registry that moved from that previous packages
      (otherwise, upgrade from 3.2.1 breaks on all lisps).
      
      Also :recycle :asdf/action in :asdf/plan for required-components and
      traverse-action. But avoid interning plan in asdf/action so it doesn't
      confuse clisp when upgrading from 2.26(!).
      65d16a93
  2. 20 Jul, 2017 3 commits
    • 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
      Rename asdf/cache to asdf/session · 49dbfc0c
      Francois-Rene Rideau authored
      49dbfc0c
  3. 26 Nov, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Get fully rid of operation initargs · 6bb7aa6b
      Francois-Rene Rideau authored
      ASDF never supported operation initargs, and its component-operation-times
      always assumed that two operations of the same class were equivalent.
      Make it explicitly so and enforce it.
      
      Do NOT pass keys from operate to make-instance operation.
      Catch any attempt to create an operation with initargs and raise an error.
      Make sure no operation class has any slot that isn't :allocation :class
      (with some MOP magic we could do it in at class definition time,
      but that's not portable enough and we don't want to reimplement closer-mop
      or depend on it.)
      
      This is a preliminary to allowing CONS instead of NODE-FOR to identify actions,
      whether or not we want to allow some form of initargs in the future.
      
      Remove unused COMPILE-OP-FLAGS and COMPILE-OP-PROCLAMATIONS.
      Remove MAKE-BUILD that depended on the unsupported operation initargs.
      Use PROGRAM-OP on a PROGRAM-SYSTEM instead.
      Remove the confusingly misnamed and not-so-useful BUILD-SYSTEM function;
      it can be done better in userland.
      6bb7aa6b
  4. 22 Sep, 2016 1 commit
    • Robert Goldman's avatar
      Copy editing. · 52366415
      Robert Goldman authored
      Mostly just punctuation, etc.
      One bigger change: the previous draft talked about "evaluating" load
      time and compile-time effects.  I replaced that with "applying," because
      to me "evaluation" connotes functional operations (computing a value),
      and most of these effects are actually mutations of program state.
      52366415
  5. 20 Sep, 2016 1 commit
  6. 17 Sep, 2015 1 commit
  7. 12 Mar, 2015 1 commit
  8. 31 Jan, 2014 1 commit
  9. 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
  10. 26 Jan, 2014 1 commit
  11. 08 Jan, 2014 1 commit
  12. 25 Nov, 2013 1 commit
  13. 15 Nov, 2013 1 commit
  14. 09 Oct, 2013 1 commit
  15. 02 Jul, 2013 1 commit
  16. 17 Mar, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.32.13: fix dependency issues for monolithic-fasl-op · c0a814bd
      Francois-Rene Rideau authored
      Rename sibling-operation sideway-operation,
      sibling-dependencies sideway-dependencies.
      No one in quicklisp was using the old name.
      Introduce selfward-operation for the common pattern.
      
      Have a prepare-fasl-op to gracefully propagate fasl-op.
      
      Reset component-depends-on when upgrading.
      
      Refactor concatenate-source-op in a likewise fashion.
      c0a814bd
  17. 27 Feb, 2013 1 commit
  18. 24 Feb, 2013 1 commit
  19. 23 Feb, 2013 1 commit
  20. 16 Feb, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.28.11: implement deferred warnings for allegro. Beef them up for CCL. · 8fdf8013
      Francois-Rene Rideau authored
      Many thanks to Duane Rettig for explanations on how to support Franz.
      lisp-action cleaned up some more for deferred-warnings.
      test-deferred-warnings beefed up.
      CCL still isn't fully there yet, and needs to better detect
      forward reference to macros.
      Also, make safe-file-write-date NIL robust independently of implementation.
      8fdf8013
  21. 14 Feb, 2013 2 commits
  22. 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
  23. 31 Jan, 2013 2 commits
  24. 30 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.168: translate-logical-pathname in probe-file*. · decc2a2c
      Francois-Rene Rideau authored
      Had to refactor the asdf-pathname-test by decomposing it into small bits
      before I could understand what was going on.
      Some more robustness in find-system.
      
      Also, no build-report output-file when no *warnings-file-type*,
      and ABL support for build-report.
      
      Deprecate *asdf-verbose*.
      Have *verbose-out* be NIL (which is testable) rather than
      (make-broadcast-stream), which isn't quite, to signal no verbosity.
      That's both more useful while remaining backward-compatible.
      decc2a2c
  25. 29 Jan, 2013 1 commit
  26. 27 Jan, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.26.156: vastly speed up input-files for compile-op system with a shortcut. · 6a4215d1
      Francois-Rene Rideau authored
      Also, better export some backward internals for swank-asdf.
      6a4215d1
    • Francois-Rene Rideau's avatar
      2.26.149: next release will be ASDF 3 after all, not ASDF 2.27. · 0f685693
      Francois-Rene Rideau authored
      Introduce some backward incompatibility with features unused in quicklisp:
      * Don't create a temporary package every time you load a .asd;
       instead, load everything from same package ASDF-USER,
       that :use's asdf/common-lisp asdf/package asdf/interface
       That's the Common Lisp way, what with COMMON-LISP-USER.
       If you want a private package, use DEFPACKAGE or DEFINE-PACKAGE.
      * operation-description is renamed action-description.
       No one was using it in quicklisp, and no one was specializing it
       except cl-protobufs, which I'll fix.
      * component-properties and component-property are gone.
       If you want a new property, create your own subclass of component.
      
      Also, have a load-asd function with name in keyword arguments,
      rather than load-sysdef function that requires the name.
      0f685693
  27. 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
  28. 22 Jan, 2013 1 commit
  29. 21 Jan, 2013 2 commits
  30. 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
  31. 19 Jan, 2013 2 commits