1. 22 Mar, 2014 1 commit
  2. 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
  3. 17 Mar, 2014 1 commit
  4. 05 Mar, 2014 1 commit
  5. 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
  6. 21 Feb, 2014 1 commit
  7. 19 Feb, 2014 1 commit
  8. 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
  9. 21 Jan, 2014 2 commits
  10. 05 Jan, 2014 1 commit
  11. 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
  12. 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
  13. 09 Oct, 2013 1 commit
  14. 23 Sep, 2013 1 commit
  15. 09 Jun, 2013 1 commit
  16. 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
  17. 29 Mar, 2013 2 commits
  18. 18 Mar, 2013 1 commit
  19. 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
  20. 05 Mar, 2013 1 commit
  21. 02 Mar, 2013 1 commit
  22. 22 Feb, 2013 1 commit
  23. 18 Feb, 2013 1 commit
  24. 01 Feb, 2013 1 commit
  25. 31 Jan, 2013 2 commits
  26. 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
  27. 29 Jan, 2013 1 commit
  28. 27 Jan, 2013 3 commits
    • Francois-Rene Rideau's avatar
      2.26.154: cache builtin-system-p for a big speedup. · 56d84e7a
      Francois-Rene Rideau authored
      We were checking it all the time in forced-p.
      Also cache nil-pathname and root-pathname.
      56d84e7a
    • Francois-Rene Rideau's avatar
      2.26.153: Various speed ups. · 1f4d6fec
      Francois-Rene Rideau authored
      Between 2.26 and 2.26.152, ASDF had gotten ~37 times slower at traversing iolib.
      Now trying to restore some performance.
      
      This commit:
      1- generalizes the cache to cover input-files and output-files as well as get-file-stamp.
      2- removes the probe-file before file-write-date.
      1f4d6fec
    • 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
  29. 26 Jan, 2013 1 commit
  30. 24 Jan, 2013 2 commits
    • Francois-Rene Rideau's avatar
      2.26.145: introduce a stamp cache, to reduce filesystem access, · c2c17558
      Francois-Rene Rideau authored
      enhance plan consistency and make testing easier.
      c2c17558
    • 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
  31. 21 Jan, 2013 1 commit
    • Francois-Rene Rideau's avatar
      2.26.137: API cleanup in preparation for release · 2c31e053
      Francois-Rene Rideau authored
      Rename RUN-PROGRAM/ to RUN-PROGRAM.
      Can't export it from ASDF because it causes a clash in SB-GROVEL.
      
      Rename SUB-OBJECT and :PATH to ACCESS-AT and :AT.
      
      Get rid of TRANSLATE-OUTPUT-P.
      Instead, check whether the component's BUILD-OPERATION
      is the same as the current operation.
      2c31e053
  32. 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
  33. 18 Jan, 2013 1 commit