| 1 |
;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- |
|---|
| 2 |
;; See the file LICENCE for licence information. |
|---|
| 3 |
|
|---|
| 4 |
;; THIS BACKEND IS DEPRECATED AND WILL NOT WORK. |
|---|
| 5 |
(in-package #:cl-user) |
|---|
| 6 |
|
|---|
| 7 |
(defpackage #:cl-store-xml.system |
|---|
| 8 |
(:use #:cl #:asdf)) |
|---|
| 9 |
|
|---|
| 10 |
(in-package #:cl-store-xml.system) |
|---|
| 11 |
|
|---|
| 12 |
(defclass non-required-file (cl-source-file) () |
|---|
| 13 |
(:documentation |
|---|
| 14 |
"File containing implementation dependent code which may or may not be there.")) |
|---|
| 15 |
|
|---|
| 16 |
(defun lisp-system-shortname () |
|---|
| 17 |
#+mcl mcl #+lispworks :lispworks #+cmu :cmucl #+clisp :clisp #+sbcl :sbcl) |
|---|
| 18 |
|
|---|
| 19 |
(defmethod component-pathname ((component non-required-file)) |
|---|
| 20 |
(let ((pathname (call-next-method)) |
|---|
| 21 |
(name (string-downcase (lisp-system-shortname)))) |
|---|
| 22 |
(merge-pathnames |
|---|
| 23 |
(make-pathname :directory (list :relative name)) |
|---|
| 24 |
pathname))) |
|---|
| 25 |
|
|---|
| 26 |
(defmethod perform ((op compile-op) (component non-required-file)) |
|---|
| 27 |
(when (probe-file (component-pathname component)) |
|---|
| 28 |
(call-next-method))) |
|---|
| 29 |
|
|---|
| 30 |
(defmethod perform ((op load-op) (component non-required-file)) |
|---|
| 31 |
(when (probe-file (component-pathname component)) |
|---|
| 32 |
(call-next-method))) |
|---|
| 33 |
|
|---|
| 34 |
(defmethod operation-done-p ((o operation) (c non-required-file)) |
|---|
| 35 |
(when (probe-file (component-pathname c)) |
|---|
| 36 |
(call-next-method))) |
|---|
| 37 |
|
|---|
| 38 |
|
|---|
| 39 |
(defsystem cl-store-xml |
|---|
| 40 |
:name "CL-STORE-XML" |
|---|
| 41 |
:author "Sean Ross <sdr@jhb.ucs.co.za>" |
|---|
| 42 |
:maintainer "Sean Ross <sdr@jhb.ucs.co.za>" |
|---|
| 43 |
:description "Xml Backend for cl-store" |
|---|
| 44 |
:version "0.2.9" |
|---|
| 45 |
:licence "MIT" |
|---|
| 46 |
:components ((:file "xml-package") |
|---|
| 47 |
(:file "xml-backend" :depends-on ("xml-package")) |
|---|
| 48 |
(:non-required-file "custom-xml" :depends-on ("xml-backend"))) |
|---|
| 49 |
:depends-on (:cl-store :xmls)) |
|---|
| 50 |
|
|---|
| 51 |
(defmethod perform :after ((o load-op) (c (eql (find-system :cl-store-xml)))) |
|---|
| 52 |
(provide 'cl-store-xml)) |
|---|
| 53 |
|
|---|
| 54 |
(defmethod perform ((op test-op) (sys (eql (find-system :cl-store-xml)))) |
|---|
| 55 |
(oos 'load-op :cl-store-xml-tests) |
|---|
| 56 |
(oos 'test-op :cl-store-xml-tests)) |
|---|
| 57 |
|
|---|
| 58 |
(defsystem cl-store-xml-tests |
|---|
| 59 |
:components ((:file "xml-tests")) |
|---|
| 60 |
:depends-on (cl-store-tests cl-store-xml)) |
|---|
| 61 |
|
|---|
| 62 |
(defmethod perform ((op test-op) |
|---|
| 63 |
(sys (eql (find-system :cl-store-xml-tests)))) |
|---|
| 64 |
(or (funcall (find-symbol "RUN-TESTS" "CL-STORE-TESTS") |
|---|
| 65 |
(symbol-value (find-symbol "*XML-BACKEND*" "CL-STORE-XML"))) |
|---|
| 66 |
(error "Test-op Failed."))) |
|---|
| 67 |
|
|---|
| 68 |
|
|---|
| 69 |
;; EOF |
|---|