abcl.asd 6.94 KB
Newer Older
1
;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
2
(defsystem abcl
Mark's avatar
Mark committed
3
  :version "1.8.0"
4
  :in-order-to ((test-op (test-op "abcl/test/lisp"))))
5

6
(defsystem abcl/test/lisp
Mark's avatar
Mark committed
7
  :version "1.8.0"
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
  :description "Test ABCL with the its own collection of unit tests."
  :perform  (test-op (o s)
                     (uiop:symbol-call :abcl.test.lisp '#:run))
  :components ((:module abcl-rt 
                        :pathname "test/lisp/abcl/" :serial t :components
                        ((:file "rt-package") 
                         (:file "rt")
                         (:file "test-utilities")))
               (:module package  :depends-on (abcl-rt)
                        :pathname "test/lisp/abcl/" :components
                        ((:file "package")))
               (:module test :depends-on (package)
                        :pathname "test/lisp/abcl/" :components
                        ((:file "utilities")
                         (:file "compiler-tests")
                         (:file "condition-tests")
                         #+abcl
                         (:file "class-file")
                         #+abcl
                         (:file "metaclass")
                         #+abcl
                         (:file "mop-tests-setup")
                         #+abcl
                         (:file "mop-tests"
                                :depends-on ("mop-tests-setup"))
                         (:file "clos-tests")
                         (:file "file-system-tests")
                         #+abcl
                         (:file "jar-pathname"
                                :depends-on ("utilities" "pathname-tests" "file-system-tests"))
                         #+abcl
                         (:file "url-pathname")
                         (:file "math-tests"
                                :depends-on ("compiler-tests"))
                         (:file "misc-tests")
                         (:file "latin1-tests")
                         (:file "bugs" :depends-on 
                                ("file-system-tests"))
46
                         #+abcl
47 48 49 50 51 52 53 54 55 56 57 58 59
                         (:file "wild-pathnames"
                                :depends-on ("file-system-tests"))
                         #+abcl 
                         (:file "weak-hash-tables")
                         #+abcl 
                         (:file "zip")
                         #+abcl 
                         (:file "java")
                         (:file "pathname-tests" :depends-on 
                                ("utilities"))
                         #+abcl
                         (:file "runtime-class")
                         #+abcl
60 61 62
                         (:file "package-local-nicknames-tests")
                         #+abcl
                         (:file "closure-serialization")))))
63

64 65 66 67 68
;;;
;;; ASDF definitions and the ANSI-TEST suite
;;;
;;; Below refer to the ANSI-TEST source tree, which isn't included as
;;; part of ABCL, but may be obtained at
69
;;; <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git>
70 71 72 73 74 75 76 77
;;; For the 'abcl/test/ansi/*' definitions to work, we require that
;;; the ANSI-TEST to be in a sibling directory named "ansi-tests"
;;; which should be manually synced with the contents of the SVN
;;; repository listed above.
;;; The ABCL.TEST.ANSI defines a function VERIFY-ANSI-TESTS to check
;;; whether the test suite is present, which provides a more useful
;;; diagnostic, but I can't seem to find a way to hook this into the
;;; ASDF:LOAD-OP phase.
78
(defsystem abcl/ansi-rt
79
  :description "Enapsulation of the REGRESSION-TEST framework used by ~
80 81
the ANSI test suite, so that we may build on its 'API'.

82
Requires that the contents of <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> ~
83
be in a directory named '../ansi-test/'."
84
  :pathname "../ansi-test/" ;;; NB works when loaded from ASDF but not with a naked EVAL
85 86 87 88
  :default-component-class cl-source-file.lsp
  :components ((:file "rt-package")
               (:file "rt" :depends-on (rt-package))))

89
(defsystem abcl/test/ansi
90 91
  :depends-on (abcl/ansi-rt)
  :components 
92 93 94 95
  ((:module ansi-tests :pathname "test/lisp/ansi/" :components
            ((:file "packages")
             (:file "abcl-ansi" :depends-on ("packages"))
             (:file "parse-ansi-errors" :depends-on ("abcl-ansi"))))))
96

97
(defsystem abcl/test/ansi/interpreted 
98 99 100 101 102 103
  :version "1.2" 
  :description "Test ABCL with the interpreted ANSI tests." 
  :depends-on (abcl/test/ansi)
  :perform (test-op (o s)
                    (uiop:symbol-call :abcl.test.ansi 'run :compile-tests nil)))
  
104 105 106 107 108 109 110 111 112 113 114 115 116
(defsystem abcl/test/ansi/compiled
  :version "1.2" 
  :description "Test ABCL with the compiled ANSI tests." 
  :depends-on (abcl/test/ansi)
  :perform (test-op (o s)
                    (uiop:symbol-call :abcl.test.ansi 'run :compile-tests t))
  :components ((:module ansi-tests
                        :pathname "test/lisp/ansi/"
                        :components ((:file "packages")
                                     (:file "abcl-ansi"
                                            :depends-on ("packages"))
                                     (:file "parse-ansi-errors"
                                            :depends-on ("abcl-ansi"))))))
117

118
(defsystem abcl/test/cl-bench 
119
  :description "Test ABCL with CL-BENCH."
120 121
  :perform (test-op (o s)
                    (uiop:symbol-call :abcl.test.cl-bench 'run))
Mark's avatar
Mark committed
122 123 124
  :components ((:module wrapper :pathname "test/lisp/cl-bench/"
                :components ((:file "wrapper")))))

125
(defsystem abcl/documentation
126
  :description "Tools to generate LaTeX source from docstrings."
127 128
  :depends-on (swank
               jss) ;; provided by abcl-contrib
129
  :components
130 131 132 133 134 135
  ((:module package
            :pathname "doc/manual/" :components ((:file "package")))
   (:module grovel
            :depends-on (package)
            :pathname "doc/manual/" 
            :components ((:file "index" :depends-on (grovel))
136 137
                         (:file "grovel")))))

138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
(defsystem abcl/tools
  :version "0.2.0"
  :components (#+(or) ;; TODO Untangle source unit compile time execution
               (:module grapher
                        :pathname "tools/"
                        :components ((:file "code-grapher")))
               (:module digest
                        :pathname "tools/"
                        :components ((:file "digest")))))

#+(or) ;; TODO Untangle source unit compile time execution
(defsystem abcl/tools/bisect
  :version "0.1.0"
  :depends-on (abcl/test/ansi/compiled)
  :components ((:module bisect
                        :pathname "tools/"
                        :components ((:file "check")))))

(defsystem abcl/tools/resource
  :version "0.1.0"
  :depends-on (dexador alexandria)
  :components ((:module http :pathname "tools/"
                        :components ((:file "resource")))))
161 162 163 164 165 166 167

(defsystem abcl/model/changes
  :version "0.1.0"
  :depends-on (jeannie) ;;; <https://bitbucket.org/easye/jeannie>
  :components ((:module n3 :pathname "etc/"
                        :components ((:static-file "changes.n3")
                                     (:file "changes")))))
168