xach / buildapp

Buildapp makes it easy to build application executables with SBCL
http://www.xach.com/lisp/buildapp/
122 stars 26 forks source link

Add a --version option #18

Open xach opened 10 years ago

xach commented 10 years ago

Take the version from the system file and display it when given a --version option.

dimitri commented 7 years ago

You can try the following, it seems to work:

modified   buildapp.lisp
@@ -389,6 +389,15 @@ ARGV. See *USAGE* for details."
   (when (string-equal (second argv) "--help")
     (write-string *usage* *standard-output*)
     (quit))
+  (when (string-equal (second argv) "--version")
+    (let ((version-string
+           (asdf:component-version (asdf:find-system "buildapp"))))
+      (format *standard-output*
+              "buildapp version ~a, built with ~a ~a~%"
+              version-string
+              (lisp-implementation-type)
+              (lisp-implementation-version)))
+    (quit))
   (let* ((dumper (command-line-dumper (rest argv)))
          (*package* (find-package :buildapp))
          #+sbcl (dynamic-space-size (dynamic-space-size dumper)))

It gives:

~/dev/tools/buildapp ./buildapp --version
buildapp version 1.5.6, built with SBCL 1.3.14

~/dev/tools/buildapp ./buildapp --version
buildapp version 1.5.6, built with Clozure Common Lisp Version 1.11-r16635  (DarwinX8632)