Commit cc1336b9 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

Declare all public commands as Makefile targets for shell completion. Tweaks.

parent aa52c8be
...@@ -48,6 +48,9 @@ Makefile: ...@@ -48,6 +48,9 @@ Makefile:
# U= overrides $ASDF_UPGRADE_TEST_METHODS to specify upgrade methods # U= overrides $ASDF_UPGRADE_TEST_METHODS to specify upgrade methods
# v= overrides the default next version for bump-version or bump. # v= overrides the default next version for bump-version or bump.
# see in tools/test-environment.lisp for details. # see in tools/test-environment.lisp for details.
# Note that because of how make and the shell quote arguments,
# thou shalt not use the single-quote character in any of the short x= parameters
# (but you may use them in the long variant in the exported environment variable).
# To have a list of commands, see make help or ./tools/asdf-tools help # To have a list of commands, see make help or ./tools/asdf-tools help
# Note that when you call ./tools/asdf-tools directly, # Note that when you call ./tools/asdf-tools directly,
# you may have to use positional parameters instead (unless you use env as below), as in # you may have to use positional parameters instead (unless you use env as below), as in
...@@ -57,7 +60,59 @@ Makefile: ...@@ -57,7 +60,59 @@ Makefile:
# or # or
# ./tools/asdf-tools env v=3.2.1 bump # ./tools/asdf-tools env v=3.2.1 bump
%: build/asdf.lisp %: build/asdf.lisp
@echo "Delegating $@ to asdf-tools" ; \ ./tools/asdf-tools env l='$l' L='$L' u='$u' U='$u' v='$v' s='$s' t='$t' $@
./tools/asdf-tools env l="$l" L="$L" u="$u" U="$u" v="$v" s="$s" t="$t" $@
# This is the list of phony targets from this file
.PHONY: all driver-files defsystem-files .PHONY: all driver-files defsystem-files
# The text below was automaticaly generated by `make --silent makefile-targets`
# then manually inserted here to provide for completion:
archive:
build-asdf:
bump:
bump-version:
check-all-results:
check-all-scripts-results:
check-all-upgrade-results:
clean:
debian-package:
doc:
extract:
extract-all-tagged-asdf:
extract-tagged-asdf:
fix-local-git-tags:
fix-remote-git-tags:
git-all-committed-p:
help:
install:
install-asdf:
link-archive:
load:
make-archive:
makefile-targets:
merge-master-into-release:
publish-archive:
publish-debian-package:
push:
re:
show-commands:
t:
test:
test-all:
test-all-clean-load:
test-all-no-stop:
test-all-no-upgrade:
test-all-no-upgrade-no-stop:
test-all-scripts:
test-all-scripts-no-stop:
test-all-upgrade:
test-all-upgrade-no-stop:
test-basic:
test-clean-load:
test-load-systems:
test-scripts:
test-upgrade:
u:
wc:
website:
...@@ -47,16 +47,28 @@ ...@@ -47,16 +47,28 @@
check-all-scripts-results check-all-upgrade-results check-all-results check-all-scripts-results check-all-upgrade-results check-all-results
make-archive publish-archive link-archive archive install ;; release make-archive publish-archive link-archive archive install ;; release
debian-package publish-debian-package debian-package publish-debian-package
re help)) ;; main re help show-commands makefile-targets)) ;; main
(defun public-command-strings ()
(sort (mapcar 'command-name (public-commands)) 'string<))
(defun show-commands ()
(format t "~{~A~^ ~}~%" (public-command-strings))
(values))
(defun makefile-targets ()
(let ((c (public-command-strings)))
;;(format t ".PHONY: ~{~A~^ ~}~%~%~{~A:~%~}~%" c c))
(format t "~{~A:~%~}~%" c))
(values))
(defun help (&optional x) (defun help (&optional x)
"help about a command, or list of commands" "help about a command, or list of commands"
(cond (cond
((null x) ((null x)
(loop :for x :in (sort (public-commands) 'string< :key 'command-name) (loop :for x :in (public-command-strings)
:do (format t "~(~27A~)~@[ ~A~]~%" :do (format t "~(~27A~)~@[ ~A~]~%"
(command-name x) (short-function-description x))) x (short-function-description x)))
(values)) (values))
(t (t
(let ((x (find-command x))) (let ((x (find-command x)))
......
...@@ -34,12 +34,12 @@ Use your preferred lisp implementation and check that asdf is loaded without any ...@@ -34,12 +34,12 @@ Use your preferred lisp implementation and check that asdf is loaded without any
(let ((nop (newlogfile "nop" lisp)) (let ((nop (newlogfile "nop" lisp))
(load (newlogfile "load" lisp))) (load (newlogfile "load" lisp)))
(run-test-lisp (run-test-lisp
(format nil "Starting ~(~A~), loading the script support, and exiting without doing anything" lisp) (format nil "starting ~(~A~), loading the script support, and exiting without doing anything" lisp)
`((load "test/script-support.lisp" :verbose nil :print nil) `((load "test/script-support.lisp" :verbose nil :print nil)
(asdf-test::exit-lisp 0)) (asdf-test::exit-lisp 0))
:lisp lisp :output nop :log log) :lisp lisp :output nop :log log)
(run-test-lisp (run-test-lisp
(format nil "Starting ~(~A~), loading the script support, loading ASDF from source, then exiting" lisp) (format nil "starting ~(~A~), loading the script support, loading ASDF from source, then exiting" lisp)
`((load "test/script-support.lisp" :verbose nil :print nil) `((load "test/script-support.lisp" :verbose nil :print nil)
(asdf-test::verbose nil) (asdf-test::verbose nil)
(load "build/asdf.lisp" :verbose nil :print nil) (load "build/asdf.lisp" :verbose nil :print nil)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment