1. 20 Jul, 2017 2 commits
    • 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
  2. 19 Feb, 2017 1 commit
    • Francois-Rene Rideau's avatar
      Fix issue upgrading from 3.1.7 or earlier · 1a241a5c
      Francois-Rene Rideau authored
      To reproduce the bug, on sbcl, allegro, cmucl (and presumably all other
      implementations?) try:
      
      ASDF_UPGRADE_TEST_TAGS=3.1.7 \
      ASDF_UPGRADE_TEST_METHODS="'load-asdf-lisp'compile-load-asdf-upgrade" \
      make u l=sbcl ; \
      make t l=sbcl t=test-utilities.script
      
      TEST ABORTED: These two expressions fail comparison with EQUAL:
       NIL evaluates to NIL
       (FISHY-ASDF-EXPORTED-SYMBOLS) evaluates to
       (("ASDF/INTERFACE" "REQUIRED-COMPONENTS")
        ("ASDF/PLAN" "TRAVERSE-SUB-ACTIONS" "REQUIRED-COMPONENTS" "TRAVERSE-ACTIONS"))
      
      After loading the FASL compiled from 3.1.7 (or earlier ASDF3),
      the symbols are unexported in their old package ASDF/ACTION,
      and the same-named symbols in ASDF/PLAN (and ASDF/INTERFACE)
      are fresh symbols that are not fbound.
      
      The solution is for ASDF/ACTION to :UNINTERN those symbols.
      ASDF/PLAN cannot include ASDF/ACTION in its :RECYCLE clause,
      because it comes *after* ASDF/ACTION, and that would negatively affect
      other symbols from ASDF/ACTION that ASDF/PLAN imports (at least on CCL).
      1a241a5c
  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. 11 Nov, 2016 1 commit
    • Robert Goldman's avatar
      Add pseudo-accessors to ACTIONs. · bbf1914a
      Robert Goldman authored
      ACTIONs are currently simply CONS cells.
      Previously these were accessed with CAR and CDR and made with CONS.
      Now there are "accessor" functions, ACTION-OPERATOR and
      ACTION-COMPONENT.  Also MAKE-ACTION.
      The intention is to make the ASDF code more readable.
      bbf1914a
  5. 29 Oct, 2016 1 commit
    • Francois-Rene Rideau's avatar
      Fix bundle-op and concatenate-source-op file order · 0e0a851b
      Francois-Rene Rideau authored
      Fix direct-dependencies, that was reversed from file order,
      leading to inversions in the order of input files for bundle-op and
      concatenate-source-op as compared to what a user would expect.
      
      Check all the bootstrap file lists and provide an *actionable* error message
      when discrepancies are detected.
      
      Also fix bundle's use of required-components to be in line with an old comment.
      And remove the comment.
      0e0a851b
  6. 25 Sep, 2016 2 commits
  7. 22 Sep, 2016 2 commits
  8. 21 Sep, 2016 1 commit
  9. 20 Sep, 2016 1 commit
  10. 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
  11. 08 Jan, 2016 1 commit
  12. 17 Sep, 2015 1 commit
  13. 07 Mar, 2014 2 commits
  14. 05 Mar, 2014 2 commits
  15. 28 Feb, 2014 1 commit
  16. 21 Feb, 2014 1 commit
  17. 31 Jan, 2014 1 commit
  18. 28 Jan, 2014 1 commit
  19. 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
  20. 26 Jan, 2014 1 commit
  21. 09 Oct, 2013 1 commit
  22. 26 Jun, 2013 2 commits
  23. 09 Jun, 2013 2 commits
  24. 08 Jun, 2013 1 commit
    • Francois-Rene Rideau's avatar
      3.0.1.4: factor MAKE-PLAN out of TRAVERSE. · 5f73d4d7
      Francois-Rene Rideau authored
      For consistency, MAKE-PLAN always returns a plan.
      For backward compatibility, TRAVERSE always returns a list of actions.
      OPERATE now calls MAKE-PLAN, not TRAVERSE anymore.
      Happily, no one in quicklisp defines *useful* methods on TRAVERSE.
      Thanks to foom for suggesting this cleanup.
      5f73d4d7
  25. 16 Apr, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.33.4: various tweaks · a075e4be
      Francois-Rene Rideau authored
      export sequential-plan;
      recognize original-initargs as exported but not defined (slot name);
      don't error while testing for not-defined-yet type (helps POIU when symbol exists but not type);
      reindent a clause of compute-action-stamp.
      a075e4be
  26. 15 Apr, 2013 1 commit
  27. 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
  28. 15 Mar, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.32.10: Patch a subtle issue causing multiple compilations + more · fefea18b
      Francois-Rene Rideau authored
      If system-a :depends-on (system-c ... system-b) and
      system-b :defsystem-depends-on (system-c), then
      system-c would have been loaded twice, first via the defsystem-depends-on,
      second via the plan for system-a which would have
      included the items from system-c before system-c was loaded.
      
      Also, allow an arbitrary number of qualifiers in inline-methods,
      not just 1 or 0.
      
      On CCL, don't punt on upgrade anymore: all tests are passing.
      
      Make UIOP compile on versions of ASDF older than 2.018.
      
      Finally, yet another tweak for run-program on Allegro on Windows.
      fefea18b
  29. 26 Feb, 2013 2 commits
  30. 19 Feb, 2013 1 commit
  31. 06 Feb, 2013 1 commit
    • 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