Ticket #328: abcl-asdf-maven-3.1.0.diff

File abcl-asdf-maven-3.1.0.diff, 6.6 KB (added by Mark Evenson, 11 years ago)

Patch to ABCL-ASDF for maven-3.1.0

  • contrib/abcl-asdf/maven-embedder.lisp

     
    175175      (java:jnew  "org.apache.maven.wagon.providers.http.LightweightHttpWagon"))))
    176176
    177177(defun make-wagon-provider ()
    178   "Returns an implementation of the org.sonatype.aether.connector.wagon.WagonProvider contract.
     178  "Returns an implementation of the org.eclipse.aether.connector.wagon.WagonProvider contract.
    179179
    180180The implementation is specified as Lisp closures.  Currently, it only
    181181specializes the lookup() method if passed an 'http' role hint."
    182182  (unless *init* (init))
    183183  (java:jinterface-implementation
    184    "org.sonatype.aether.connector.wagon.WagonProvider"
     184   "org.eclipse.aether.connector.wagon.WagonProvider"
    185185   "lookup"
    186186   (lambda (role-hint)
    187187     (cond
     
    197197     (declare (ignore wagon)))))
    198198
    199199(defun find-service-locator ()
    200   (handler-case
    201       (java:jnew "org.apache.maven.repository.internal.MavenServiceLocator") ;; maven-3.0.4
    202     (error ()
    203       (java:jnew "org.apache.maven.repository.internal.DefaultServiceLocator"))))
     200  (or (ignore-errors (#"newServiceLocator" 'org.apache.maven.repository.internal.MavenRepositorySystemUtils)) ;; maven-3.1.0
     201      (ignore-errors (java:jnew "org.apache.maven.repository.internal.MavenServiceLocator")) ;; maven-3.0.4
     202      (ignore-errors (java:jnew "org.apache.maven.repository.internal.DefaultServiceLocator"))))
    204203
    205204(defun make-repository-system ()
    206205  (unless *init* (init))
    207206  (let ((locator
    208207         (find-service-locator))
    209208        (wagon-provider-class
    210          (java:jclass "org.sonatype.aether.connector.wagon.WagonProvider"))
     209         (java:jclass "org.eclipse.aether.connector.wagon.WagonProvider"))
    211210        (wagon-repository-connector-factory-class
    212          (java:jclass "org.sonatype.aether.connector.wagon.WagonRepositoryConnectorFactory"))
     211         (java:jclass "org.eclipse.aether.connector.wagon.WagonRepositoryConnectorFactory"))
    213212        (repository-connector-factory-class
    214          (java:jclass "org.sonatype.aether.spi.connector.RepositoryConnectorFactory"))
     213         (java:jclass "org.eclipse.aether.spi.connector.RepositoryConnectorFactory"))
    215214        (repository-system-class
    216          (java:jclass "org.sonatype.aether.RepositorySystem")))
     215         (java:jclass "org.eclipse.aether.RepositorySystem")))
    217216    (#"setServices" locator
    218217                    wagon-provider-class
    219218                   (java:jarray-from-list
     
    226225            locator)))
    227226       
    228227(defun make-session (repository-system)
    229   "Construct a new org.sonatype.aether.RepositorySystemSession from REPOSITORY-SYSTEM"
    230   (let ((session
    231          (java:jnew (jss:find-java-class "MavenRepositorySystemSession")))
     228  "Construct a new org.eclipse.aether.RepositorySystemSession from REPOSITORY-SYSTEM"
     229  (let ((session (#"newSession" 'org.apache.maven.repository.internal.MavenRepositorySystemUtils))
    232230        (local-repository
    233231         (java:jnew (jss:find-java-class "LocalRepository")
    234232                  (namestring (merge-pathnames ".m2/repository/"
     
    236234    (#"setLocalRepositoryManager"
    237235     session
    238236     (#"newLocalRepositoryManager" repository-system
     237                                   session
    239238                                   local-repository))))
    240239
    241240(defparameter *maven-http-proxy* nil
    242241  "A string containing the URI of an http proxy for Maven to use.")
    243242
    244243(defun make-proxy ()
    245   "Return an org.sonatype.aether.repository.Proxy instance initialized from *MAVEN-HTTP-PROXY*."
     244  "Return an org.eclipse.aether.repository.Proxy instance initialized from *MAVEN-HTTP-PROXY*."
    246245  (unless *maven-http-proxy*
    247246    (warn "No proxy specified in *MAVEN-HTTP-PROXY*")
    248247    (return-from make-proxy nil))
     
    256255                 (parse-integer (subseq authority (1+ (search ":" authority))))))
    257256         ;; TODO allow specification of authentication
    258257         (authentication java:+null+))
    259     (jss:new 'org.sonatype.aether.repository.Proxy
     258    (jss:new 'org.eclipse.aether.repository.Proxy
    260259             scheme host port authentication)))
    261260
    262261(defparameter *repository-system*  nil
    263   "The org.sonatype.aether.RepositorySystem used by the Maeven Aether connector.")
     262  "The org.sonatype.eclipse.RepositorySystem used by the Maeven Aether connector.")
    264263(defun ensure-repository-system (&key (force nil))
    265264  (when (or force (not *repository-system*))
    266265    (setf *repository-system* (make-repository-system)))
     
    298297  (unless *init* (init))
    299298  (let* ((artifact-string (format nil "~A:~A:~A" group-id artifact-id version))
    300299         (artifact
    301           (jss:new "org.sonatype.aether.util.artifact.DefaultArtifact" artifact-string))
     300          (jss:new "org.eclipse.aether.artifact.DefaultArtifact" artifact-string))
    302301         (artifact-request
    303           (java:jnew "org.sonatype.aether.resolution.ArtifactRequest")))
     302          (java:jnew "org.eclipse.aether.resolution.ArtifactRequest")))
    304303    (#"setArtifact" artifact-request artifact)
    305304    (#"addRepository" artifact-request (ensure-remote-repository))
    306305    (#"toString" (#"getFile"
     
    308307                                                      (ensure-session) artifact-request))))))
    309308
    310309(defun make-remote-repository (id type url)
    311   (jss:new 'aether.repository.RemoteRepository id type url))
     310  (#"build" (jss:new "org.eclipse.aether.repository.RemoteRepository$Builder" id type url)))
    312311
    313312(defparameter *default-repository*
    314313   "http://repo1.maven.org/maven2/")
     
    348347  (unless versionp
    349348    (warn "Using LATEST for unspecified version."))
    350349  (let* ((artifact
    351           (java:jnew (jss:find-java-class "aether.util.artifact.DefaultArtifact")
     350          (java:jnew (jss:find-java-class "org.eclipse.aether.artifact.DefaultArtifact")
    352351                     (format nil "~A:~A:~A"
    353352                             group-id artifact-id version)))
    354353         (dependency
    355           (java:jnew (jss:find-java-class "aether.graph.Dependency")
     354          (java:jnew (jss:find-java-class "org.eclipse.aether.graph.Dependency")
    356355                     artifact (java:jfield (jss:find-java-class "JavaScopes") "RUNTIME")))
    357356         (collect-request (java:jnew (jss:find-java-class "CollectRequest"))))
    358357    (#"setRoot" collect-request dependency)
     
    375374  (flet ((log (e)
    376375           (format *maven-verbose* "~&~A~%" (#"toString" e))))
    377376    (java:jinterface-implementation
    378      "org.sonatype.aether.RepositoryListener"
     377     "org.eclipse.aether.RepositoryListener"
    379378     "artifactDeployed"
    380379     #'log
    381380     "artifactDeploying"