Changeset 14654
- Timestamp:
- 03/21/14 10:26:01 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/abcl-contrib.lisp
r14614 r14654 3 3 (require :asdf) 4 4 5 (defconstant +get-classloader+ 5 (defconstant +get-classloader+ 6 6 (java:jmethod "java.lang.Class" "getClassLoader")) 7 7 8 (defun boot-classloader () 8 (defun boot-classloader () 9 9 (let ((boot-class (java:jclass "org.armedbear.lisp.Main"))) 10 10 (java:jcall +get-classloader+ boot-class))) … … 19 19 (and (pathnamep p) 20 20 (equal (pathname-type p) "jar") 21 (or 21 (or 22 22 (java:jstatic "matches" 23 "java.util.regex.Pattern" 23 "java.util.regex.Pattern" 24 24 (concatenate 'string name "(-[0-9]\\.[0-9]\\.[0-9]([+~-].+)?)?") 25 25 (pathname-name p)) 26 26 (java:jstatic "matches" 27 "java.util.regex.Pattern" 27 "java.util.regex.Pattern" 28 28 (concatenate 'string name "(-[0-9]\\.[0-9]\\.[0-9]\\.[0-9]([+~-]+)?)?") 29 29 (pathname-name p))) … … 31 31 32 32 (defun find-system () 33 "Find the location of the system. 33 "Find the location of the system. 34 34 35 35 Used to determine relative pathname to find 'abcl-contrib.jar'." 36 (or 37 (ignore-errors 36 (or 37 (ignore-errors 38 38 (find-system-jar)) 39 39 (ignore-errors 40 (some 41 (lambda (u) 42 (probe-file (make-pathname 43 :defaults 40 (some 41 (lambda (u) 42 (probe-file (make-pathname 43 :defaults (java:jcall "toString" u) 44 44 :name "abcl"))) 45 45 (java:jcall "getURLs" (boot-classloader)))) 46 (ignore-errors 46 (ignore-errors 47 47 #p"http://abcl.org/releases/current/abcl.jar"))) 48 48 49 (defun find-system-jar () 49 (defun find-system-jar () 50 50 "Return the pathname of the system jar, one of `abcl.jar` or `abcl-m.n.p.jar` or `abcl-m.n.p[.~-]something.jar`." 51 51 (dolist (loader (java:dump-classpath)) … … 80 80 (format verbose "~&Using already initialized value of abcl-contrib:~&'~A'.~%" 81 81 *abcl-contrib*) 82 (progn 82 (progn 83 83 (setf *abcl-contrib* (find-contrib)) 84 84 (format verbose "~&Using probed value of abcl-contrib:~&'~A'.~%" … … 88 88 (defun find-contrib () 89 89 "Introspect runtime classpaths to find a loadable ABCL-CONTRIB." 90 (or (ignore-errors 91 92 (probe-file 93 94 95 (some 96 (lambda (u) 97 (probe-file (make-pathname 98 :defaults(java:jcall "toString" u)99 100 90 (or (ignore-errors 91 (when (find-system-jar) 92 (probe-file 93 (make-pathname :defaults (find-system-jar) 94 :name "abcl-contrib")))) 95 (some 96 (lambda (u) 97 (probe-file (make-pathname 98 :defaults (java:jcall "toString" u) 99 :name "abcl-contrib"))) 100 (java:jcall "getURLs" (boot-classloader))))) 101 101 102 (export `(find-system 102 (export `(find-system 103 103 find-contrib 104 104 *abcl-contrib*)) 105 105 106 (when (find-and-add-contrib :verbose t) 106 107 (provide :abcl-contrib)) 107 108 109 110 111 112 113 114 115
Note: See TracChangeset
for help on using the changeset viewer.