More refactorings to the printer, exported symbols that control printer behavior.
[clinton/parenscript.git] / parenscript.asd
dissimilarity index 77%
index efcfccd..51b86a0 100644 (file)
@@ -1,24 +1,58 @@
-;;;; -*- lisp -*-
-
-(in-package :cl-user)
-
-(defpackage :parenscript.system
-  (:use :cl :asdf))
-
-(in-package :parenscript.system)
-
-(defsystem :parenscript
-    :name "parenscript"
-    :author "Manuel Odendahl <manuel@bl0rg.net>"
-    :version "0"
-    :maintainer "Edward Marco Baringer <mb@bese.it>"
-    :licence "BSD"
-    :description "js - javascript compiler"
-
-    :perform (load-op :after (op araneida)
-                     (pushnew :parenscript cl:*features*))
-    :components ((:file "package")
-                (:file "utils" :depends-on ("package"))
-                (:file "js" :depends-on ("package" "utils"))
-                (:file "js-html" :depends-on ("package" "js" "utils"))
-                (:file "css" :depends-on ("package" "utils"))))
+;;;; -*- lisp -*-
+
+(in-package :cl-user)
+
+(defpackage :parenscript.system
+  (:use :cl :asdf))
+
+(in-package :parenscript.system)
+
+(defsystem :parenscript
+  :name "parenscript"
+  :author "Manuel Odendahl <manuel@bl0rg.net>"
+  :version "0"
+  :maintainer "Vladimir Sedach <vsedach@gmail.com>"
+  :licence "BSD"
+  :description "Parenscript is a lispy language that compiles to Javascript."
+  :components ((:static-file "parenscript.asd")
+               (:module :src
+                :components ((:file "package")
+                             (:file "utils" :depends-on ("package"))
+                             (:file "namespace" :depends-on ("package"))
+                             (:file "parse-lambda-list" :depends-on ("package"))
+                            (:file "compiler" :depends-on ("namespace"))
+                            (:file "js-macrology" :depends-on ("compiler"))
+                            (:file "ps-macrology" :depends-on ("utils" "js-macrology" "parse-lambda-list"))
+                            (:file "printer" :depends-on ("ps-macrology"))
+                            (:file "compilation-interface" :depends-on ("package" "printer"))
+                             (:file "deprecated-interface" :depends-on ("compilation-interface"))
+                            ;; standard library
+                             (:module :lib
+                                      :components ((:static-file "functional.lisp")
+                                                  (:file "js-html")
+                                                  (:file "css"    )
+                                                  (:file "js-utils"))
+                                     :depends-on ("compilation-interface")))))
+  :depends-on ())
+
+(defmethod asdf:perform :after ((op asdf:load-op) (system (eql (asdf:find-system :parenscript)))) 
+  (pushnew :parenscript cl:*features*))
+
+(defmethod asdf:perform ((o test-op) (c (eql (find-system :parenscript))))
+  (asdf:operate 'asdf:test-op :parenscript.test))
+
+(defsystem :parenscript.test
+  :depends-on (:parenscript :fiveam :cl-ppcre)
+  :components ((:module :t
+                :components ((:file "test-package")
+                             (:file "test" :depends-on ("test-package"))
+                             (:file "ref2test" :depends-on ("test"))
+                             (:file "reference-tests" :depends-on ("test"))
+                             (:file "ps-tests" :depends-on ("test"))
+                            (:file "package-system-tests" :depends-on ("test"))))))
+                            
+
+(defmethod asdf:perform ((o test-op) (c (eql (find-system :parenscript.test))))
+  (asdf:operate 'asdf:load-op :parenscript.test)
+  (funcall (intern (symbol-name :run-tests)
+                   (find-package :parenscript-test))))