| 1 | ;;; -*- Mode: LISP; Syntax: COMMON-LISP -*- |
|---|
| 2 | (defsystem abcl |
|---|
| 3 | :version "1.5.0" |
|---|
| 4 | :in-order-to ((test-op (test-op "abcl/test/lisp")))) |
|---|
| 5 | |
|---|
| 6 | (defsystem abcl/test/lisp |
|---|
| 7 | :version "1.5.0" |
|---|
| 8 | :description "Test ABCL with the its own collection of unit tests." |
|---|
| 9 | :perform (test-op (o s) |
|---|
| 10 | (uiop:symbol-call :abcl.test.lisp '#:run)) |
|---|
| 11 | :components ((:module abcl-rt |
|---|
| 12 | :pathname "test/lisp/abcl/" :serial t :components |
|---|
| 13 | ((:file "rt-package") |
|---|
| 14 | (:file "rt") |
|---|
| 15 | (:file "test-utilities"))) |
|---|
| 16 | (:module package :depends-on (abcl-rt) |
|---|
| 17 | :pathname "test/lisp/abcl/" :components |
|---|
| 18 | ((:file "package"))) |
|---|
| 19 | (:module test :depends-on (package) |
|---|
| 20 | :pathname "test/lisp/abcl/" :components |
|---|
| 21 | ((:file "utilities") |
|---|
| 22 | (:file "compiler-tests") |
|---|
| 23 | (:file "condition-tests") |
|---|
| 24 | #+abcl |
|---|
| 25 | (:file "class-file") |
|---|
| 26 | #+abcl |
|---|
| 27 | (:file "metaclass") |
|---|
| 28 | #+abcl |
|---|
| 29 | (:file "mop-tests-setup") |
|---|
| 30 | #+abcl |
|---|
| 31 | (:file "mop-tests" |
|---|
| 32 | :depends-on ("mop-tests-setup")) |
|---|
| 33 | (:file "clos-tests") |
|---|
| 34 | (:file "file-system-tests") |
|---|
| 35 | #+abcl |
|---|
| 36 | (:file "jar-pathname" |
|---|
| 37 | :depends-on ("utilities" "pathname-tests" "file-system-tests")) |
|---|
| 38 | #+abcl |
|---|
| 39 | (:file "url-pathname") |
|---|
| 40 | (:file "math-tests" |
|---|
| 41 | :depends-on ("compiler-tests")) |
|---|
| 42 | (:file "misc-tests") |
|---|
| 43 | (:file "latin1-tests") |
|---|
| 44 | (:file "bugs" :depends-on |
|---|
| 45 | ("file-system-tests")) |
|---|
| 46 | (:file "wild-pathnames" |
|---|
| 47 | :depends-on ("file-system-tests")) |
|---|
| 48 | #+abcl |
|---|
| 49 | (:file "weak-hash-tables") |
|---|
| 50 | #+abcl |
|---|
| 51 | (:file "zip") |
|---|
| 52 | #+abcl |
|---|
| 53 | (:file "java") |
|---|
| 54 | #+abcl |
|---|
| 55 | (:file "pathname-tests" :depends-on |
|---|
| 56 | ("utilities")) |
|---|
| 57 | #+abcl |
|---|
| 58 | (:file "runtime-class") |
|---|
| 59 | #+abcl |
|---|
| 60 | (:file "package-local-nicknames-tests"))))) |
|---|
| 61 | |
|---|
| 62 | ;;; FIXME Currently requires ACBL-CONTRIB and QUICKLISP-ABCL to be |
|---|
| 63 | ;;; loaded, but can't seem to put in the :defsystem-depends-on stanza |
|---|
| 64 | (defsystem abcl/t |
|---|
| 65 | :description "Tests for ABCL via PROVE." |
|---|
| 66 | :defsystem-depends-on (prove-asdf) |
|---|
| 67 | :depends-on (abcl |
|---|
| 68 | prove) |
|---|
| 69 | :perform (asdf:test-op (op c) |
|---|
| 70 | (uiop:symbol-call :prove-asdf :run-test-system c)) |
|---|
| 71 | :components ((:module package |
|---|
| 72 | :pathname "t/" |
|---|
| 73 | :components ((:file "package"))) |
|---|
| 74 | (:module java6 |
|---|
| 75 | :depends-on (package) |
|---|
| 76 | :pathname "t/" |
|---|
| 77 | :components ((:test-file "run-program"))) |
|---|
| 78 | (:module build |
|---|
| 79 | :depends-on (package) |
|---|
| 80 | :pathname "t/" |
|---|
| 81 | :components ((:test-file "resolve-multiple-maven-dependencies") |
|---|
| 82 | (:test-file "disassemble") |
|---|
| 83 | (:test-file "pathname"))))) |
|---|
| 84 | |
|---|
| 85 | ;;; |
|---|
| 86 | ;;; ASDF definitions and the ANSI-TEST suite |
|---|
| 87 | ;;; |
|---|
| 88 | ;;; Below refer to the ANSI-TEST source tree, which isn't included as |
|---|
| 89 | ;;; part of ABCL, but may be obtained at |
|---|
| 90 | ;;; <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> |
|---|
| 91 | ;;; For the 'abcl/test/ansi/*' definitions to work, we require that |
|---|
| 92 | ;;; the ANSI-TEST to be in a sibling directory named "ansi-tests" |
|---|
| 93 | ;;; which should be manually synced with the contents of the SVN |
|---|
| 94 | ;;; repository listed above. |
|---|
| 95 | ;;; The ABCL.TEST.ANSI defines a function VERIFY-ANSI-TESTS to check |
|---|
| 96 | ;;; whether the test suite is present, which provides a more useful |
|---|
| 97 | ;;; diagnostic, but I can't seem to find a way to hook this into the |
|---|
| 98 | ;;; ASDF:LOAD-OP phase. |
|---|
| 99 | (defsystem abcl/ansi-rt |
|---|
| 100 | :description "Enapsulation of the REGRESSION-TEST framework used by ~ |
|---|
| 101 | the ANSI test suite, so that we may build on its 'API'. |
|---|
| 102 | |
|---|
| 103 | Requires that the contents of <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> ~ |
|---|
| 104 | be in a directory named '../ansi-test/'." |
|---|
| 105 | :pathname "../ansi-test/" ;;; NB works when loaded from ASDF but not with a naked EVAL |
|---|
| 106 | :default-component-class cl-source-file.lsp |
|---|
| 107 | :components ((:file "rt-package") |
|---|
| 108 | (:file "rt" :depends-on (rt-package)))) |
|---|
| 109 | |
|---|
| 110 | (defsystem abcl/test/ansi |
|---|
| 111 | :depends-on (abcl/ansi-rt) |
|---|
| 112 | :components |
|---|
| 113 | ((:module ansi-tests :pathname "test/lisp/ansi/" :components |
|---|
| 114 | ((:file "packages") |
|---|
| 115 | (:file "abcl-ansi" :depends-on ("packages")) |
|---|
| 116 | (:file "parse-ansi-errors" :depends-on ("abcl-ansi")))))) |
|---|
| 117 | |
|---|
| 118 | (defsystem abcl/test/ansi/interpreted |
|---|
| 119 | :version "1.2" |
|---|
| 120 | :description "Test ABCL with the interpreted ANSI tests." |
|---|
| 121 | :depends-on (abcl/test/ansi) |
|---|
| 122 | :perform (test-op (o s) |
|---|
| 123 | (uiop:symbol-call :abcl.test.ansi 'run :compile-tests nil))) |
|---|
| 124 | |
|---|
| 125 | (defsystem abcl/test/ansi/compiled |
|---|
| 126 | :version "1.2" |
|---|
| 127 | :description "Test ABCL with the compiled ANSI tests." |
|---|
| 128 | :depends-on (abcl/test/ansi) |
|---|
| 129 | :perform (test-op (o s) |
|---|
| 130 | (uiop:symbol-call :abcl.test.ansi 'run :compile-tests t)) |
|---|
| 131 | :components ((:module ansi-tests |
|---|
| 132 | :pathname "test/lisp/ansi/" |
|---|
| 133 | :components ((:file "packages") |
|---|
| 134 | (:file "abcl-ansi" |
|---|
| 135 | :depends-on ("packages")) |
|---|
| 136 | (:file "parse-ansi-errors" |
|---|
| 137 | :depends-on ("abcl-ansi")))))) |
|---|
| 138 | |
|---|
| 139 | (defsystem abcl/test/cl-bench |
|---|
| 140 | :description "Test ABCL with CL-BENCH." |
|---|
| 141 | :perform (test-op (o s) |
|---|
| 142 | (uiop:symbol-call :abcl.test.cl-bench 'run)) |
|---|
| 143 | :components ((:module package :pathname "../cl-bench/" |
|---|
| 144 | :components ((:file "defpackage"))) |
|---|
| 145 | (:module wrapper :pathname "test/lisp/cl-bench/" |
|---|
| 146 | :depends-on (package) :components |
|---|
| 147 | ((:file "wrapper"))))) |
|---|
| 148 | (defsystem abcl/documentation |
|---|
| 149 | :description "Tools to generate LaTeX source from docstrings." |
|---|
| 150 | :depends-on (swank |
|---|
| 151 | jss) ;; provided by abcl-contrib |
|---|
| 152 | :components |
|---|
| 153 | ((:module package |
|---|
| 154 | :pathname "doc/manual/" :components ((:file "package"))) |
|---|
| 155 | (:module grovel |
|---|
| 156 | :depends-on (package) |
|---|
| 157 | :pathname "doc/manual/" |
|---|
| 158 | :components ((:file "index" :depends-on (grovel)) |
|---|
| 159 | (:file "grovel"))))) |
|---|
| 160 | |
|---|
| 161 | (defsystem abcl/tools |
|---|
| 162 | :version "0.2.0" |
|---|
| 163 | :components (#+(or) ;; TODO Untangle source unit compile time execution |
|---|
| 164 | (:module grapher |
|---|
| 165 | :pathname "tools/" |
|---|
| 166 | :components ((:file "code-grapher"))) |
|---|
| 167 | (:module digest |
|---|
| 168 | :pathname "tools/" |
|---|
| 169 | :components ((:file "digest"))))) |
|---|
| 170 | |
|---|
| 171 | #+(or) ;; TODO Untangle source unit compile time execution |
|---|
| 172 | (defsystem abcl/tools/bisect |
|---|
| 173 | :version "0.1.0" |
|---|
| 174 | :depends-on (abcl/test/ansi/compiled) |
|---|
| 175 | :components ((:module bisect |
|---|
| 176 | :pathname "tools/" |
|---|
| 177 | :components ((:file "check"))))) |
|---|
| 178 | |
|---|
| 179 | (defsystem abcl/tools/resource |
|---|
| 180 | :version "0.1.0" |
|---|
| 181 | :depends-on (dexador alexandria) |
|---|
| 182 | :components ((:module http :pathname "tools/" |
|---|
| 183 | :components ((:file "resource"))))) |
|---|
| 184 | |
|---|
| 185 | (defsystem abcl/model/changes |
|---|
| 186 | :version "0.1.0" |
|---|
| 187 | :depends-on (jeannie) ;;; <https://bitbucket.org/easye/jeannie> |
|---|
| 188 | :components ((:module n3 :pathname "etc/" |
|---|
| 189 | :components ((:static-file "changes.n3") |
|---|
| 190 | (:file "changes"))))) |
|---|