bulk of package system, reader, and other refactoring
[clinton/parenscript.git] / parenscript.asd
1 ;;;; -*- lisp -*-
2
3 (in-package :cl-user)
4
5 (defpackage :parenscript.system
6 (:use :cl :asdf))
7
8 (in-package :parenscript.system)
9
10 (defsystem :parenscript
11 :name "parenscript"
12 :author "Manuel Odendahl <manuel@bl0rg.net>"
13 :version "0"
14 :maintainer "Vladimir Sedach <vsedach@gmail.com>"
15 :licence "BSD"
16 :description "Parenscript is a lispy language that compiles to Javascript."
17 :components ((:static-file "parenscript.asd")
18 (:module :src
19 :components ((:file "package")
20 (:file "utils" :depends-on ("package"))
21 (:file "js-source-model" :depends-on ("package" "utils"))
22 (:file "ps-source-model" :depends-on ("js-source-model"))
23 (:file "parser" :depends-on ("js-source-model" "ps-source-model"))
24 (:file "deprecated-interface" :depends-on ("parser"))
25 (:file "js-macrology" :depends-on ("deprecated-interface"))
26 (:file "ps-macrology" :depends-on ("js-macrology"))
27 (:file "js-translation" :depends-on ("ps-macrology"))
28 ; (:file "js-ugly-translation" :depends-on ("js-translation"))
29 (:file "reader" :depends-on ("parser"))
30 (:file "compilation-interface" :depends-on ("package" "reader" "js-translation")); "js-ugly-translation"))
31 ;; standard library
32 (:module :lib
33 :components ((:static-file "functional.lisp")
34 (:file "js-html")
35 (:file "css" )
36 (:file "js-utils"))
37 :depends-on ("compilation-interface")))))
38 :depends-on ())
39
40 (defmethod asdf:perform :after ((op asdf:load-op) (system (eql (asdf:find-system :parenscript))))
41 (pushnew :parenscript cl:*features*))
42
43 (defmethod asdf:perform ((o test-op) (c (eql (find-system :parenscript))))
44 (asdf:operate 'asdf:test-op :parenscript.test))
45
46 (defsystem :parenscript.test
47 :depends-on (:parenscript :fiveam :cl-ppcre)
48 :components ((:module :t
49 :components ((:file "test-package")
50 (:file "test" :depends-on ("test-package"))
51 (:file "ref2test" :depends-on ("test"))
52 (:file "reference-tests" :depends-on ("test"))
53 (:file "ps-tests" :depends-on ("test"))))))
54
55 (defmethod asdf:perform ((o test-op) (c (eql (find-system :parenscript.test))))
56 (asdf:operate 'asdf:load-op :parenscript.test)
57 (funcall (intern (symbol-name :run-tests)
58 (find-package :js-test))))