[armedbear-cvs] r13807 - trunk/abcl/contrib/abcl-asdf

mevenson at common-lisp.net mevenson at common-lisp.net
Wed Jan 25 13:34:03 UTC 2012


Author: mevenson
Date: Wed Jan 25 05:34:03 2012
New Revision: 13807

Log:
Further fix for ABCL-ASDF load time failure.

Start separating out the public api by exporting and documenting symbols.

Modified:
   trunk/abcl/contrib/abcl-asdf/abcl-asdf.asd
   trunk/abcl/contrib/abcl-asdf/maven-embedder.lisp
   trunk/abcl/contrib/abcl-asdf/packages.lisp

Modified: trunk/abcl/contrib/abcl-asdf/abcl-asdf.asd
==============================================================================
--- trunk/abcl/contrib/abcl-asdf/abcl-asdf.asd	Wed Jan 25 04:50:26 2012	(r13806)
+++ trunk/abcl/contrib/abcl-asdf/abcl-asdf.asd	Wed Jan 25 05:34:03 2012	(r13807)
@@ -20,14 +20,17 @@
 
 (defsystem :abcl-asdf-test
   :author "Mark Evenson"
-  :depends-on (abcl abcl-test-lisp)
+  :depends-on (abcl)
   :components
   ((:module tests :components
             (#+nil (:file "example")
                    (:file "maven")))))
 
+#+nil FIXME
 (defmethod perform ((o test-op) (c (eql (find-system 'abcl-asdf))))
    "Invoke tests with (asdf:test-system 'abcl-asdf)."
+   (asdf:load-system 'abcl)
+   (asdf:load-system 'abcl-test-lisp)
    (asdf:load-system 'abcl-asdf-test)
    (funcall (intern (symbol-name 'run) 'abcl-asdf-test)))
 

Modified: trunk/abcl/contrib/abcl-asdf/maven-embedder.lisp
==============================================================================
--- trunk/abcl/contrib/abcl-asdf/maven-embedder.lisp	Wed Jan 25 04:50:26 2012	(r13806)
+++ trunk/abcl/contrib/abcl-asdf/maven-embedder.lisp	Wed Jan 25 05:34:03 2012	(r13807)
@@ -13,13 +13,14 @@
 Test:
 (resolve-dependencies "org.slf4j" "slf4j-api" "1.6.1")
 
-(resolve-dependencies "org.apache.maven" "maven-aether-provider" "3.0.3")
+(resolve-dependencies "org.apache.maven" "maven-aether-provider" "3.0.4")
 |#
 
 (defvar *mavens* '("/opt/local/bin/mvn3" "mvn3" "mvn" "mvn.bat")
   "Locations to search for the Maven executable.")
 
 (defun find-mvn () 
+  "Attempt to find a suitable Maven ('mvn') executable on the hosting operating system."
   (dolist (mvn-path *mavens*)
     (let ((mvn 
            (handler-case 
@@ -75,20 +76,28 @@
 (defparameter *init* nil)
 
 (defun init ()
+  "Run the initialization strategy to bootstrap a Maven dependency node."
   (unless *mvn-libs-directory*
     (setf *mvn-libs-directory* (find-mvn-libs)))
   (unless (probe-file *mvn-libs-directory*)
-    (error "You must download maven-3.0.3 from http://maven.apache.org/download.html, then set ABCL-ASDF:*MVN-DIRECTORY* appropiately."))
+    (error "You must download maven-3.0.3 or later from http://maven.apache.org/download.html, then set ABCL-ASDF:*MVN-DIRECTORY* appropiately."))
   (unless (ensure-mvn-version)
     (error "We need maven-3.0.3 or later."))
   (add-directory-jars-to-class-path *mvn-libs-directory* nil)
   (setf *init* t))
 
 (defparameter *http-wagon-implementations*
-  `("org.apache.maven.wagon.providers.http.HttpWagon" ;; introduced as default with maven-3.0.3
-    "org.apache.maven.wagon.providers.http.LightweightHttpWagon"))
+  `("org.apache.maven.wagon.providers.http.HttpWagon" ;; introduced as default with maven-3.0.4
+    "org.apache.maven.wagon.providers.http.LightweightHttpWagon")
+  "A list of possible candidate implementations that provide access to http and https resources.
+
+Supposedly configurable with the java.net.protocols (c.f. reference maso2000 in the Manual.")
 
 (defun make-wagon-provider ()
+  "Returns an implementation of the org.sonatype.aether.connector.wagon.WagonProvider contract.
+
+The implementation is specified as Lisp closures.  Currently, it only
+specializes the lookup() method if passed an 'http' role hint."
   (unless *init* (init))
   (java:jinterface-implementation 
    "org.sonatype.aether.connector.wagon.WagonProvider"
@@ -137,7 +146,7 @@
      (#"newLocalRepositoryManager" repository-system local-repository))))
 
 (defun resolve-artifact (group-id artifact-id &optional (version "LATEST" versionp))
-  "Dynamically resolve Maven dependencies for item with GROUP-ID and ARTIFACT-ID at VERSION.
+  "Directly resolve Maven dependencies for item with GROUP-ID and ARTIFACT-ID at VERSION, ignoring dependencies.
 
 Declared dependencies are not attempted to be located.
 

Modified: trunk/abcl/contrib/abcl-asdf/packages.lisp
==============================================================================
--- trunk/abcl/contrib/abcl-asdf/packages.lisp	Wed Jan 25 04:50:26 2012	(r13806)
+++ trunk/abcl/contrib/abcl-asdf/packages.lisp	Wed Jan 25 05:34:03 2012	(r13807)
@@ -4,7 +4,17 @@
 ;;; Public API
    #:resolve-dependencies
 
+   #:find-mvn
+
+   #:*mvn-directory*
+
+   #:init
+
 ;;; "Internal" API
+
+;;;; Maven 
+   #:*mvn-libs-directory*
+
    #:satisfy
    #:as-classpath
 
@@ -17,5 +27,5 @@
    #:*inhibit-add-to-classpath*))
 
 (defpackage #:abcl-asdf-test
-  (:use :cl :abcl-rt)
+  (:use :cl #+nil :abcl-test-lisp) ;;; FIXME
   (:export #:run))




More information about the armedbear-cvs mailing list