1. 19 Oct, 2018 1 commit
  2. 23 Jul, 2017 1 commit
    • Francois-Rene Rideau's avatar
      Add back make-build on ECL · 41f397c9
      Francois-Rene Rideau authored
      This provides for backward compatibility with ECL, whose current
      maintainer Daniel K. has decided to keep supporting the make-build
      interface and has forked ASDF for that.
      41f397c9
  3. 20 Jul, 2017 6 commits
    • Robert Goldman's avatar
      Fix bug detecting need to reload defsystem. · aca68cf1
      Robert Goldman authored
      Previously, if one bumped a version number that was included into a
      system definition using :READ-FILE-FORM or :READ-FILE-LINE, ASDF would
      not notice the change (so it could, for example, fail to recognize that
      a depended-on system has had its version number bumped and now satisfies
      a new :VERSION requirement).
      
      This was fixed by adding ADDITIONAL-INPUT-FILES to the object model.
      These serve the purpose of giving a place other than INPUT-FILES for ASDF
      to stash input files that it "notices" on its own (e.g., when processing
      :READ-FILE-<FOO>).  ASDF can't stash such files in INPUT-FILES, because
      it must leave the INPUT-FILES primary methods open for users to
      override.
      aca68cf1
    • 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
      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
      Rename asdf/cache to asdf/session · 49dbfc0c
      Francois-Rene Rideau authored
      49dbfc0c
  4. 17 Feb, 2017 1 commit
  5. 12 Jan, 2017 1 commit
  6. 27 Nov, 2016 1 commit
  7. 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
  8. 11 Sep, 2016 1 commit
  9. 10 Sep, 2016 1 commit
  10. 17 Jul, 2015 1 commit
  11. 10 Jul, 2015 1 commit
  12. 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
  13. 16 Jun, 2015 1 commit
  14. 05 Aug, 2014 1 commit
    • Robert P. Goldman's avatar
      Remove compatibility stubs for old bundle op classes and document. · 85a833c7
      Robert P. Goldman authored
      The compatibility stubs were not fully functional, so rather than
      expend a lot of time fixing the stubs, we have done away with the old
      names for the bundle ops.
      
      Added documentation for this in the manual, as a new FAQ.
      
      While indexing the class names, I found that we incorrectly used findex
      for classes, instead of tindex.  Added syncodeindex so that we can use
      the tindex command going forward without breaking everything.
      85a833c7
  15. 10 Jul, 2014 1 commit
  16. 05 Jul, 2014 1 commit
  17. 20 Apr, 2014 1 commit
  18. 25 Mar, 2014 1 commit
  19. 24 Mar, 2014 1 commit
  20. 22 Mar, 2014 1 commit
  21. 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
  22. 17 Mar, 2014 1 commit
  23. 14 Mar, 2014 1 commit
  24. 13 Mar, 2014 1 commit
  25. 05 Mar, 2014 1 commit
  26. 01 Mar, 2014 1 commit
    • Francois-Rene Rideau's avatar
      Fixes and refactoring of asdf/bundle and uiop/image for ECL. · c52a4f83
      Francois-Rene Rideau authored
      Testing the latest cl-launch with ECL showed massive bitrot in the bundle support for ECL.
      * Make better use of ASDF3's class hierarchy in redefining asdf/bundle,
        by removing and adding the mixins: goodbye bundle-compile-op and monolithic-,
        hello link-op and gather-op. Also, reinstate bundle-system as a class
        to hold prologue and epilogue (but do we need these, now with portable ASDF3 image support?)
      * rename binary-op to deliver-asd-op, same for monolithic-
      * Introduce image-op as a superclass of program-op,
        for dumping an executable image with the regular top-level.
      * Redo the way operation flags are or aren't propagated:
        gather-op explicitly does not pass the flags,
        so toplevel options are for the toplevel build only
        -- though they belong to the system, not the operation.
        Therefore get rid of no-ld-flags-op -- if there are flags to pass,
        they should be passed explicitly in gather-op;
        or more likely, they might be slots in the system, or the plan,
        or special variables for the current session.
        OPERATE tries harder to preserve the original-initargs,
        which are not clobbered by asdf/bundle's initialize-instance anymore.
      * Punt for command-line-arguments on LispWorks,
        so the user has a slight chance of setting them.
      c52a4f83
  27. 21 Feb, 2014 1 commit
  28. 19 Feb, 2014 1 commit
  29. 27 Jan, 2014 2 commits
    • Francois-Rene Rideau's avatar
      Implement the discussed non-monotonic inheritance of propagation traits. · eb2da723
      Francois-Rene Rideau authored
      For backward compatibility with ASDF 2, an operation that doesn't explicitly
      inherit from one of the propagation classes or non-propagating-operation
      will be downward- and sideway- propagating, with a warning at instantiation.
      Inheriting from non-propagating and a propagating class at the same time
      yields an error, not a warning.
      Update packages and tests.
      eb2da723
    • 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
  30. 21 Jan, 2014 2 commits
  31. 05 Jan, 2014 1 commit
  32. 03 Jan, 2014 1 commit
    • Francois-Rene Rideau's avatar
      Gracefully handle the case where a package-system is missing a package. · 9ad85d7d
      Francois-Rene Rideau authored
      This bug was found while testing with ECL, which somehow
      evaluated the .asd twice during test-bundle.script
      when other implementations evaluated it only once;
      which revealed that the second time around,
      the package-system would override the explicit secondary definitions
      of test-asdf/dll-test and test-asdf/dll-user, and then
      would fail ungracefully due to the absence of defpackage in these files.
      That latent bug was present in all implementations,
      but not stressed by the test system.
      9ad85d7d
  33. 23 Oct, 2013 1 commit
    • Francois-Rene Rideau's avatar
      package-system: support for quick-build style defpackage-based dependencies. · c609093c
      Francois-Rene Rideau authored
      This is quick-build compatible and fixes lp#1230368.
      
      To use package-system, just have foo.asd containing
      	(defsystem foo :class package-system)
      at the top of your quick-build hierarchy $FOODIR
      for packages whose name start with "FOO/"
      and ASDF will thereafter look for system "foo/bar/baz" in $FOODIR/bar/baz.lisp.
      
      Such a file will implicitly have its own system defined;
      its dependencies are computed by scanning the file,
      extracting its first defpackage form,
      and using the packages it uses or imports from
      as a as a specification of what systems it depends on.
      
      You can register packages as belonging to a system with
      	(asdf:register-system-packages my-system '(package1 package2))
      Using or importing from a package registered to a given system
      will generate a dependency to the registered system.
      Using or importing from a packages registered to the constant symbol T
      will not generate any dependency.
      Using or importing from a packages that is not registered will generate
      a dependency on a system the name of which is the package name downcased.
      All packages that exist at the time ASDF is initially loaded
      are registered to constant symbol T.
      
      Also, for convenience, introduce :use-reexport and :mix-reexport in
      uiop/package.lisp (of course, no one can rely on it until it's mainstream,
      but better late than never).
      
      To use this style in a way compatible with older versions of ASDF 3,
      you may use the asdf-package-system extension.
      See lisp-interface-library for a system that uses this style this way.
      
      Push :asdf-package-system to *features*
      c609093c