On 9 July 2011 15:48, Scott L. Burson <[email protected]> wrote: > Hi Faré! > > Here's a little hack I just wrote because I wanted to see the > dependency DAG for a system I'm working on: > > (in-package :asdf) > > (defun* show-dependencies (system-name &key descriptions?) > (let ((seen (make-hash-table :test #'equal))) > (labels ((rec (system-name depth) > (let ((nm (if (and (listp system-name) (eq (car system-name) > ':version)) > (coerce-name (cadr system-name)) > (coerce-name system-name)))) > (if (gethash nm seen) > (format t "~v@T[~A]~%" (* depth 2) nm) > (progn > (let ((sys (cdr (gethash nm *defined-systems*)))) > (if (null sys) > (format t "~v@T~A??~%" (* depth 2) nm) > (progn > (format t "~v@T~A~@[: ~A~]~%" (* depth 2) nm > (and descriptions? > (slot-boundp sys 'description) > (slot-value sys 'description))) > (setf (gethash nm seen) t) > (dolist (dep (component-load-dependencies sys)) > (rec dep (1+ depth))))))))))) > (rec system-name 0)))) > > I thought you might want to include this in asdf.lisp. Sample output > is below. When a name is in brackets, that means the system and its > dependencies have already appeared earlier in the listing. > (Adding asdf-devel as destination.)
It is cool. I think it deserves to be published. But I don't think the already way too big asdf.lisp is the right place. Our goal is to keep asdf.lisp itself minimal, and move anything not strictly needed for system bootstrap into extensions. At the same time, we don't yet have an "official" repository for such extensions. Maybe it's time to start one. Any taker? —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org > -- Scott > > osb > clsql > clsql-postgresql > [clsql] > clsql-uffi > [clsql] > uffi > clsql-postgresql-socket > [clsql] > md5 > [uffi] > sb-bsd-sockets > sb-grovel > weblocks > closer-mop > hunchentoot > chunga > trivial-gray-streams > cl-base64 > cl-fad > sb-posix > [sb-grovel] > cl-ppcre > flexi-streams > [trivial-gray-streams] > cl+ssl > cffi > alexandria > trivial-features > babel > [trivial-features] > [alexandria] > [trivial-gray-streams] > [flexi-streams] > [sb-posix] > [md5] > rfc2388 > trivial-backtrace > usocket > [sb-bsd-sockets] > bordeaux-threads > [alexandria] > puri > cl-json > cl-who > parenscript > [cl-ppcre] > anaphora > [cl-fad] > fare-matcher > fare-utils > cl-cont > [closer-mop] > [alexandria] > metatilities > metatilities-base > moptilities > [closer-mop] > cl-containers > [metatilities-base] > metabang-bind > asdf-system-connections > [cl-ppcre] > [md5] > [anaphora] > f-underscore > [bordeaux-threads] > salza2 > html-template > trivial-timeout > [trivial-backtrace] > weblocks-clsql > [closer-mop] > [metatilities] > [clsql] > [weblocks] > cl-oauth > ironclad > sb-rotate-byte > [cl-base64] > [babel] > [closer-mop] > [alexandria] > [anaphora] > [f-underscore] > split-sequence > trivial-garbage > fiveam > arnesi > drakma > [puri] > [cl-base64] > [chunga] > [flexi-streams] > [usocket] > [cl+ssl] > [puri] > [hunchentoot] > [cl-ppcre] > cl-smtp > [usocket] > [trivial-gray-streams] > [flexi-streams] > [cl-base64] > [cl+ssl] > monkeylib-bcrypt > [cffi] > fset > gmap > _______________________________________________ asdf-devel mailing list [email protected] http://lists.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel
