- 19 Oct, 2018 1 commit
-
-
Robert Goldman authored
-
- 23 Jul, 2017 1 commit
-
-
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.
-
- 20 Jul, 2017 6 commits
-
-
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.
-
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.
-
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.
-
Francois-Rene Rideau authored
-
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).
-
Francois-Rene Rideau authored
-
- 17 Feb, 2017 1 commit
-
-
Francois-Rene Rideau authored
See discussion on https://bugs.launchpad.net/asdf/+bug/1649198
-
- 12 Jan, 2017 1 commit
-
-
Francois-Rene Rideau authored
See discussion on https://bugs.launchpad.net/asdf/+bug/1649198
-
- 27 Nov, 2016 1 commit
-
-
Francois-Rene Rideau authored
-
- 26 Nov, 2016 1 commit
-
-
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.
-
- 11 Sep, 2016 1 commit
-
-
Daniel Kochmański authored
This reverts commit adf2d1a6.
-
- 10 Sep, 2016 1 commit
-
-
Daniel Kochmański authored
-
- 17 Jul, 2015 1 commit
-
-
Robert Goldman authored
Doing so will lock us into an implementation strategy and API that we aren't confident about.
-
- 10 Jul, 2015 1 commit
-
-
Francois-Rene Rideau authored
-
- 29 Jun, 2015 1 commit
-
-
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.
-
- 16 Jun, 2015 1 commit
-
-
Robert Goldman authored
-
- 05 Aug, 2014 1 commit
-
-
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.
-
- 10 Jul, 2014 1 commit
-
-
Francois-Rene Rideau authored
-
- 05 Jul, 2014 1 commit
-
-
Robert P. Goldman authored
-
- 20 Apr, 2014 1 commit
-
-
Francois-Rene Rideau authored
-
- 25 Mar, 2014 1 commit
-
-
Francois-Rene Rideau authored
-
- 24 Mar, 2014 1 commit
-
-
Francois-Rene Rideau authored
Also, override prepare-op on systems to use *load-system-operation*, so that all the efforts of load-bundle-op aren't negated by the first-come compilation.
-
- 22 Mar, 2014 1 commit
-
-
Francois-Rene Rideau authored
but make sure pre-3.1 names are still usable.
-
- 20 Mar, 2014 1 commit
-
-
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.
-
- 17 Mar, 2014 1 commit
-
-
Francois-Rene Rideau authored
Tweak the ASDF (ASDF/INTERFACE) package. Most notably export perform-with-restarts (long forgotten). Also, stop uninterning long obsolete useless things that don't matter and are probably punted on. Tweak comments.
-
- 14 Mar, 2014 1 commit
-
-
Francois-Rene Rideau authored
-
- 13 Mar, 2014 1 commit
-
-
Robert P. Goldman authored
-
- 05 Mar, 2014 1 commit
-
-
Francois-Rene Rideau authored
Add regression tests for the feature. Change the meaning of :force-not t to mean "anything but current system".
-
- 01 Mar, 2014 1 commit
-
-
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.
-
- 21 Feb, 2014 1 commit
-
-
Robert P. Goldman authored
Ensure that SYSTEM-DEFSYSTEM-DEPENDS-ON never gets SLOT-UNBOUND error. Also cache DEPENDS-ON and WEAKLY-DEPENDS-ON info from DEFSYSTEM.
-
- 19 Feb, 2014 1 commit
-
-
Robert P. Goldman authored
Ensure that SYSTEM-DEFSYSTEM-DEPENDS-ON never gets SLOT-UNBOUND error. Also cache DEPENDS-ON and WEAKLY-DEPENDS-ON info from DEFSYSTEM.
-
- 27 Jan, 2014 2 commits
-
-
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.
-
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
-
- 21 Jan, 2014 2 commits
-
-
Robert P. Goldman authored
-
Robert P. Goldman authored
Added INITIALIZE-INSTANCE that checks for operations that have no specified dependency propagations. Also added NON-PROPAGATING-OPERATION as a way to specify that an OPERATION subclass /intentionally/ performs no dependency propagation.
-
- 05 Jan, 2014 1 commit
-
-
Francois-Rene Rideau authored
-
- 03 Jan, 2014 1 commit
-
-
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.
-
- 23 Oct, 2013 1 commit
-
-
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*
-