From: Vladimir Sedach Date: Sat, 4 Aug 2007 06:16:51 +0000 (+0000) Subject: Removed parenscript.asdf X-Git-Tag: parenscript-20070828~38 X-Git-Url: https://git.hcoop.net/clinton/parenscript.git/commitdiff_plain/135308252c6afe8f66b4b305157af61f7705fade Removed parenscript.asdf --- diff --git a/parenscript.asd b/parenscript.asd index 710a5a0..2b90631 100644 --- a/parenscript.asd +++ b/parenscript.asd @@ -30,7 +30,6 @@ (:file "js-translation" :depends-on ("ps-macrology")) ; (:file "js-ugly-translation" :depends-on ("js-translation")) (:file "compilation-interface" :depends-on ("package" "js-translation" "builtin-packages")); "js-ugly-translation")) - (:file "paren-asdf" :depends-on ("package" "compilation-interface")) ;; standard library (:module :lib :components ((:static-file "functional.lisp") diff --git a/src/package.lisp b/src/package.lisp index 11de263..ab075dd 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -287,9 +287,5 @@ as non-prefixed identifiers.")) (:nicknames ps-user parenscript-user) (:documentation "The default package a user is inside of when compiling code.")) -(defpackage parenscript.asdf - (:use :parenscript :asdf :common-lisp) - (:documentation "ASDF extensions that help compile and use Parenscript systems.")) - (defpackage parenscript.non-prefixed (:nicknames ps.non-prefixed)) (defpackage parenscript.ps-gensyms) diff --git a/src/paren-asdf.lisp b/src/paren-asdf.lisp deleted file mode 100644 index 2b5dc55..0000000 --- a/src/paren-asdf.lisp +++ /dev/null @@ -1,79 +0,0 @@ -(in-package :parenscript.asdf) - -(defvar *parenscript-file-extension* "paren") - -;;; ASDF manual: http://constantly.at/lisp/asdf/index.html - -;;; a parenscript file is a source file: -;;; A source file is any file that the system does not know how to generate -;;; from other components of the system. -(defclass asdf::parenscript-file (asdf:source-file) - ()) - -(defclass asdf::parenscript-compile-op (asdf:operation) - ((output-spec :initarg :output-spec :initform :javascript :accessor output-spec) - (comp-env :initarg :comp-env :initform nil :accessor comp-env) - (pretty-print-p :initarg :pretty-print :initform nil :accessor pretty-print-p) - (output-stream :initarg :output-stream :initform *standard-output* :accessor output-stream) - (force-p :initarg :force-p :initform nil :accessor force-p - :documentation "T to force compilation.")) - (:documentation "The operation used in conjunction with parenscript:compile-script-system.")) - -;;;; STANDARD LISP COMPILATION - -;;; file extension for parenscript files is ".paren" -;;; e.g. (defmethod source-file-type ((c cl-source-file) (s module)) "lisp") -(defmethod asdf:source-file-type ((c asdf::parenscript-file) (s asdf:module)) - (declare (ignore c) (ignore s)) - *parenscript-file-extension*) - -;;; when you compile the system, compile the Parenscript files in it. -(defmethod asdf:perform ((op compile-op) (paren-file asdf::parenscript-file)) -; (parenscript:compile-parenscript-file (component-pathname paren-file))) - ) - -;;; when you load the system, do nothing with the parenscript files. This could -;;; be enhanced so that files are automatically installed into the appropriate web -;;; framework, etc. for now we do nothing. -(defmethod asdf:perform ((op load-op) (paren-file asdf::parenscript-file)) - nil) - -;;;; OUR CUSTOM PARENSCRIPT COMPILATION - -(defmethod output-files ((op asdf::parenscript-compile-op) general-component) - nil) - -(defmethod perform ((op asdf::parenscript-compile-op) general-component) -; (format t "General component: ~A~%" general-component) - (call-next-method)) - -(defmethod perform ((op asdf::parenscript-compile-op) (file asdf:source-file)) -; (format t "Source file ignored: ~A~%" file) - nil) - -(defmethod perform ((op asdf::parenscript-compile-op) (file asdf::parenscript-file)) - (compile-script-file (component-pathname file) - :comp-env (comp-env op) - :output-spec (output-spec op) - :pretty-print (pretty-print-p op) - :output-stream (output-stream op)) - (write-char #\Newline (output-stream op))) - -(defmethod operation-done-p ((op asdf::parenscript-compile-op) general-component) - (call-next-method) - nil) - -(defmethod operation-done-p ((op asdf::parenscript-compile-op) (file asdf::parenscript-file)) - (and (not (force-p op)) - (call-next-method))) - - -;;; FIXME: we simply copy load-op's dependencies. this is Just Not Right. -(defmethod asdf:component-depends-on ((op asdf::parenscript-compile-op) (c component)) - (let ((what-would-load-op-do (cdr (assoc 'load-op - (slot-value c 'asdf::in-order-to))))) - (mapcar (lambda (dep) - (if (eq (car dep) 'load-op) - (cons 'asdf::parenscript-compile-op (cdr dep)) - dep)) - what-would-load-op-do))) \ No newline at end of file