Changeset 14697
- Timestamp:
- 04/27/14 14:11:37 (9 years ago)
- Location:
- branches/1.3.1/contrib/asdf-jar
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1.3.1/contrib/asdf-jar/asdf-jar.asd
r14615 r14697 4 4 (defsystem :asdf-jar 5 5 :author "Mark Evenson" 6 :version "0. 2.1"7 :description "<> asdf:defsystem <urn:abcl.org/release/1.3.0/contrib/asdf-jar#0. 2.1>"6 :version "0.3.0" 7 :description "<> asdf:defsystem <urn:abcl.org/release/1.3.0/contrib/asdf-jar#0.3.0>" 8 8 :components 9 9 ((:module base :pathname "" :components -
branches/1.3.1/contrib/asdf-jar/asdf-jar.lisp
r14440 r14697 6 6 (:use :cl) 7 7 (:export #:package 8 ;; "Si vis pacem, para bellum" -- Publius Flavius Vegetius Renatus 9 #:prepare-for-war 8 10 #:add-to-asdf)) 9 11 10 (in-package :asdf-jar)12 (in-package #:asdf-jar) 11 13 12 14 (defvar *debug* nil) 13 15 14 (defun package (system 15 &key (out #p"/var/tmp/") 16 (recursive t) ; whether to package dependencies 17 (force nil) ; whether to force ASDF compilation 18 (verbose t)) 16 (defun package (system &key 17 (out #p"/var/tmp/") 18 (recursive t) ; whether to package dependencies 19 (force nil) ; whether to force ASDF compilation 20 (root nil) 21 (verbose t)) 19 22 "Compile and package the asdf SYSTEM in a jar. 20 23 … … 32 35 (let* ((name 33 36 (slot-value system 'asdf::name)) 34 (version 35 (handler-case (slot-value system 'asdf:version)36 (unbound-slot () "unknown")))37 (version (let ((v (slot-value system 'asdf:version))) 38 (when v 39 v))) 37 40 (package-jar-name 38 (format nil "~A~A-~A" name (if recursive "-all" "") version)) 41 (format nil "~A~A~A" name (if recursive "-all" "") (if version 42 (format nil "-~A" version) 43 ""))) 39 44 (package-jar 40 45 (make-pathname :name package-jar-name … … 58 63 (name (slot-value system 'asdf::name)) 59 64 (asdf (slot-value system 'asdf::source-file))) 60 (setf (gethash asdf mapping) (archive-relative-path base name asdf)) 65 (setf (gethash asdf mapping) (let ((relative-path (archive-relative-path 66 base name asdf))) 67 (if root 68 (merge-pathnames 69 relative-path 70 (make-pathname :directory root)) 71 relative-path))) 61 72 (loop :for component :in (all-files system) 62 73 :for source = (slot-value component 'asdf::absolute-pathname) 63 74 :for source-entry = (archive-relative-path base name source) 64 75 :do (setf (gethash source mapping) 65 source-entry) 76 (if root 77 (merge-pathnames source-entry (make-pathname :directory root)) 78 source-entry)) 66 79 :do (when *debug* 67 80 (format verbose "~&~A~& => ~A" source source-entry)) … … 73 86 :type "abcl")) 74 87 (output-entry 75 (make-pathname :defaults source-entry 76 :type "abcl"))) 88 (make-pathname :defaults source-entry 89 :type "abcl" 90 :directory (append root 91 (rest (pathname-directory source-entry)))))) 77 92 (when *debug* 78 93 (format verbose "~&~A~& => ~A" output output-entry)) … … 141 156 :inherit-configuration)))) 142 157 158 (defun prepare-for-war (system &key 159 (out #p"/var/tmp/") 160 (recursive nil) ; whether to package dependencies 161 (force nil) ; whether to force ASDF compilation 162 (root (list :relative "WEB-INF" "resources")) 163 (verbose t)) 164 "Package named asdf SYSTEM for deployment in a Java Servlet container war file. 165 166 c.f. PACKAGE for further options." 167 168 (warn "Unaudited. Please see your local Honey dealer.") 169 (package system :out out :recursive recursive :force force :verbose verbose 170 :root root)) 171 172 143 173 (provide :asdf-jar)
Note: See TracChangeset
for help on using the changeset viewer.