varjagg / deptree

System dependency listing and archiving tool for Common Lisp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deptree: ASDF system dependency listing and archiving

Enumerating system’s dependencies

(deptree system-name)

Example: (deptree "hunchentoot")

The resulting list of system names is deduplicated and pruned of dependencies within same system directories.

Listing dependencies’ pathnames

(systems-paths dependencies)

Example: (systems-paths (deptree "hunchentoot"))

Archiving system’s dependencies

(systems-archive dependencies tarball-pathname &key (sanitize-p t) (path-prefix “”))

Example: (systems-archive (deptree "hunchentoot") #p"/tmp/hunchentoot-deps.tgz")

Before archiving, make sure the dependencies are in fact present on your host. If you are using Quicklisp it’s as easy as quickload-ing the system.

All systems directories are stored flat (with prepeneded :PATH-PREFIX) regardless their original absolute pathnames. Since feature-conditional dependencies are honored, please ensure you’re archiving from the relevant platform.

Unless :SANITIZE-P is NIL, the function will clean up git and Mercurial DVCS data from the archives.

Listing systems’ licenses

(systems-licenses systems)

Example: (systems-licenses (deptree "hunchentoot"))

Produces a list of pairs (system-name . license-string) for the supplied list of licenses.

Collating systems’ license set

(license-set systems)

Example: (license-set (deptree "hunchentoot"))

Produces a mostly deduplicated list of licenses. Variations in character case or hyphens are collated.

About

System dependency listing and archiving tool for Common Lisp

License:MIT License


Languages

Language:Common Lisp 100.0%