From 611490bb64823926a59d1c2f6314c04a7a81a354 Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau <tunes@google.com> Date: Sat, 4 Apr 2015 18:21:09 -0400 Subject: [PATCH] Do NOT override the asdf-tools defaults from the Makefile --- Makefile | 2 -- tools/asdf-tools.asd | 6 +++--- tools/main.lisp | 7 +++++-- tools/test-environment.lisp | 9 +++++---- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index f702d130..035478bb 100644 --- a/Makefile +++ b/Makefile @@ -17,8 +17,6 @@ # Other targets are for maintainer use only. # -l ?= sbcl - # Default action: bootstrap asdf.lisp # That's the only thing that we really need before we may invoke asdf-builder. all: build/asdf.lisp diff --git a/tools/asdf-tools.asd b/tools/asdf-tools.asd index e440e6fc..0c616db0 100644 --- a/tools/asdf-tools.asd +++ b/tools/asdf-tools.asd @@ -2,10 +2,10 @@ :description "tools to build, test, maintain and release ASDF itself" :depends-on ((:version "asdf" "3.1.2") (:version "inferior-shell" "2.0.2") - (:version "cl-ppcre" "2.0.4") (:version "lisp-invocation" "1.0.2") - (:feature :sbcl "sb-introspect") - "optima" "optima.ppcre") + (:version "cl-ppcre" "2.0.4") + (:version "optima.ppcre" "1.0") + (:feature :sbcl "sb-introspect")) :components ((:file "package") (:file "main" :depends-on ("package")) diff --git a/tools/main.lisp b/tools/main.lisp index dd27417c..6e8982a8 100644 --- a/tools/main.lisp +++ b/tools/main.lisp @@ -85,7 +85,7 @@ based on a list of targets" ;;; Main entry point. ;;; NB: For access control, you could check that only exported symbols are used as entry points. -(defun main (args) +(defun process-arguments (args) (block nil (unless args (format t "No command provided~%") @@ -99,9 +99,12 @@ based on a list of targets" (format t "Command ~A not found~%" (first args)) (return))) +;;; For a multi-call binary, use these cl-launch or buildapp arguments: --dispatch-entry asdf-tools/asdf-tools::main +(defun main (argv) + (initialize-environment) + (process-arguments argv)) (defun entry-point () (setf *lisp-interaction* nil) (uiop:with-fatal-condition-handler () - (initialize-environment) (main *command-line-arguments*))) diff --git a/tools/test-environment.lisp b/tools/test-environment.lisp index f41bbef8..2cae5775 100644 --- a/tools/test-environment.lisp +++ b/tools/test-environment.lisp @@ -60,15 +60,16 @@ :do (setf (symbol-value variable) (if-let (x (getenvp envvar)) (funcall transformer x) - defaults)) + (eval defaults))) (setf (gethash envvar h) x) (setf (gethash short h) x)))) (defun display-environment () (format t "Environment for ASDF tools:~%") - (loop :for variable-name :in (mapcar 'first *environment-variable-specs*) - :do (format t "~T~A = ~A~%" - variable-name (symbol-value variable-name)))) + (let ((*package* (find-package :asdf-tools))) + (loop :for variable-name :in (mapcar 'first *environment-variable-specs*) + :do (format t "~T~S = ~S~%" + variable-name (symbol-value variable-name))))) (defun test-definition (def) (block () -- GitLab