[armedbear-devel] patch for automagical JAR loading
Milos Negovanovic
milos.negovanovic at gmail.com
Wed Jan 30 11:45:43 UTC 2013
Hi all,
patch is attached. With it this kind of .asd spec works out of the box
and resolves all JARs and puts them in classpath:
(require :asdf)
(require :abcl-contrib)
(require :abcl-asdf)
(require :jss)
(asdf:defsystem #:test-asdf
:serial t
:description ""
:author ""
:license "Specify license here"
:components
((:module jetty
:serial t
:components
((:mvn "org.eclipse.jetty/jetty-server/8.1.8.v20121106")
(:mvn "org.freemarker/freemarker/2.3.19")))
(:module source :pathname ""
:serial t
:components
((:file "package")
(:file "example"))
:depends-on (:jetty))))
The bug is someplace in abcl-asdf:resolve ... didnt figure out where, i
just used abcl-asdf:resolve-dependencies ... not sure why you want
resolving code in 2 places anyway :).
Regards
--
Milos Negovanovic
milos.negovanovic at gmail.com
-------------- next part --------------
Index: contrib/abcl-asdf/abcl-asdf.lisp
===================================================================
--- contrib/abcl-asdf/abcl-asdf.lisp (revision 14363)
+++ contrib/abcl-asdf/abcl-asdf.lisp (working copy)
@@ -31,10 +31,10 @@
(ensure-parsed-mvn c)))
(defmethod perform ((operation load-op) (c mvn))
- (let ((resolved-path
- (abcl-asdf:resolve (ensure-parsed-mvn c))))
- (when (stringp resolved-path)
- (java:add-to-classpath (abcl-asdf:as-classpath resolved-path)))))
+ (ensure-parsed-mvn c)
+ (with-slots (group-id artifact-id version) c
+ (loop for x in (abcl-asdf:as-classpath (abcl-asdf:resolve-dependencies group-id artifact-id version))
+ do (java:add-to-classpath x))))
;;; A Maven URI has the form "mvn:group-id/artifact-id/version"
;;;
More information about the armedbear-devel
mailing list