Changeset 14192
- Timestamp:
- 10/13/12 09:12:36 (11 years ago)
- Location:
- trunk/abcl/contrib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/contrib/abcl-asdf/abcl-asdf.lisp
r13904 r14192 101 101 "Resolve all runtime dependencies of MVN-COMPONENT. 102 102 103 Returns a string in JVM CLASSPATH format as entries delimited by classpath separator string." 104 105 (with-slots (asdf::group-id asdf::artifact-id asdf::version) mvn-component 106 (resolve-dependencies asdf::group-id asdf::artifact-id asdf::version))) 103 Returns a string in JVM CLASSPATH format as entries delimited by 104 classpath separator string. Can possibly be a single entry denoting a 105 remote binary artifact." 106 (let ((name (asdf::component-name mvn-component))) 107 (if (find-mvn) 108 (with-slots (asdf::group-id asdf::artifact-id asdf::version) mvn-component 109 (resolve-dependencies asdf::group-id asdf::artifact-id asdf::version)) 110 (cond 111 ((string= name 112 "net.java.dev.jna/jna/3.4.0" 113 (let ((uri #p"http://repo1.maven.org/maven2/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar")) 114 (values (namestring uri) uri)))) 115 (t 116 (error "Failed to resolve MVN component name ~A." name)))))) 107 117 108 118 (defun as-classpath (classpath) -
trunk/abcl/contrib/mvn/jna.asd
r14191 r14192 4 4 (asdf:defsystem :jna 5 5 :version "3.4.0" 6 :defsystem-depends-on (jss abcl-asdf)) 7 ;; FIXME: install a better handler in abcl-asdf :components ((:mvn "net.java.dev.jna/jna/3.4.0"))) 6 :defsystem-depends-on (jss abcl-asdf) 7 ;; FIXME: 8 :components ((:mvn "net.java.dev.jna/jna/3.4.0"))) 8 9 9 (defmethod asdf:perform :after ((o asdf:load-op) (c (eql (asdf:find-system :jna)))) 10 (in-package :asdf) 11 (defmethod perform :after ((o load-op) (c (eql (find-system :jna)))) 10 12 (when (jss:find-java-class "com.sun.jna.Native") 11 13 (provide :jna))) 12 14 13 (defmethod asdf:perform :before ((o asdf:load-op) (c (eql (asdf:find-system :jna)))) 15 ;;; After ASDF performs COMPILE-OP, one expects that the JNA Java 16 ;;; classes can be instantiated. If not, execute various loading strategies. 17 (defmethod perform ((o compile-op) (c (eql (find-system :jna)))) 14 18 ;; Theoretically this should be the same thing as the MVN component. 19 (format *debug-io* "~&Attemping to locate jvm binary artifacts for JNA...~&") 15 20 (handler-case 16 (unless (jss:find-java-class "com.sun.jna.Native") 17 (unless (java:add-to-classpath (abcl-asdf:resolve "net.java.dev.jna:jna:3.4.0")) 18 (java:add-to-classpath "http://repo1.maven.org/maven2/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar"))) 21 (jss:find-java-class "com.sun.jna.Native") 22 (java:java-exception (e) 23 (unless 24 (java:add-to-classpath (abcl-asdf:resolve "net.java.dev.jna:jna:3.4.0")) 25 (unless 26 (java:add-to-classpath #p"http://repo1.maven.org/maven2/net/java/dev/jna/jna/3.4.0/jna-3.4.0.jar") 27 (error "Failed to load jna-3.4.0.jar from the network via URI.")) 28 (error "Failed to load jna.jar via ABCL-ASDF."))) 19 29 (t (e) 20 (error "Failed to resolve 'jna.jar' because~&~A. " e))))30 (error "Failed to resolve 'jna.jar' because~&~A.~&" e)))) 21 31 22 32
Note: See TracChangeset
for help on using the changeset viewer.