-
Notifications
You must be signed in to change notification settings - Fork 0
/
version.lisp
47 lines (39 loc) · 1.46 KB
/
version.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
;; Copyright (C) 2006-2008 Martin Bishop, Ivy Foster
;;
;; This file is part of thesiswm.
;;
;; thesiswm is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; thesiswm is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this software; see the file COPYING. If not, see
;; <http://www.gnu.org/licenses/>.
;; Commentary:
;;
;; This file contains version information.
;;
;; Code:
(in-package :thesiswm)
(export '(*version* version))
(defparameter *version*
#.(concatenate
'string
(let* ((sys (asdf:find-system :thesiswm))
(git-dir (probe-path (asdf:system-relative-pathname sys ".git"))))
(if git-dir
(string-trim '(#\Newline)
(run-shell-command
(format nil "GIT_DIR=~a git describe --tags" git-dir) t))
(asdf:component-version sys)))
" Compiled On "
(format-expand *time-format-string-alist*
*time-format-string-default*)))
(defcommand version () ()
"Print version information and compilation date."
(message *version*))
;; End of file