Ticket #328: abcl-asdf-maven-3.1.0.diff
File abcl-asdf-maven-3.1.0.diff, 6.6 KB (added by , 11 years ago) |
---|
-
contrib/abcl-asdf/maven-embedder.lisp
175 175 (java:jnew "org.apache.maven.wagon.providers.http.LightweightHttpWagon")))) 176 176 177 177 (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. 179 179 180 180 The implementation is specified as Lisp closures. Currently, it only 181 181 specializes the lookup() method if passed an 'http' role hint." 182 182 (unless *init* (init)) 183 183 (java:jinterface-implementation 184 "org. sonatype.aether.connector.wagon.WagonProvider"184 "org.eclipse.aether.connector.wagon.WagonProvider" 185 185 "lookup" 186 186 (lambda (role-hint) 187 187 (cond … … 197 197 (declare (ignore wagon))))) 198 198 199 199 (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")))) 204 203 205 204 (defun make-repository-system () 206 205 (unless *init* (init)) 207 206 (let ((locator 208 207 (find-service-locator)) 209 208 (wagon-provider-class 210 (java:jclass "org. sonatype.aether.connector.wagon.WagonProvider"))209 (java:jclass "org.eclipse.aether.connector.wagon.WagonProvider")) 211 210 (wagon-repository-connector-factory-class 212 (java:jclass "org. sonatype.aether.connector.wagon.WagonRepositoryConnectorFactory"))211 (java:jclass "org.eclipse.aether.connector.wagon.WagonRepositoryConnectorFactory")) 213 212 (repository-connector-factory-class 214 (java:jclass "org. sonatype.aether.spi.connector.RepositoryConnectorFactory"))213 (java:jclass "org.eclipse.aether.spi.connector.RepositoryConnectorFactory")) 215 214 (repository-system-class 216 (java:jclass "org. sonatype.aether.RepositorySystem")))215 (java:jclass "org.eclipse.aether.RepositorySystem"))) 217 216 (#"setServices" locator 218 217 wagon-provider-class 219 218 (java:jarray-from-list … … 226 225 locator))) 227 226 228 227 (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)) 232 230 (local-repository 233 231 (java:jnew (jss:find-java-class "LocalRepository") 234 232 (namestring (merge-pathnames ".m2/repository/" … … 236 234 (#"setLocalRepositoryManager" 237 235 session 238 236 (#"newLocalRepositoryManager" repository-system 237 session 239 238 local-repository)))) 240 239 241 240 (defparameter *maven-http-proxy* nil 242 241 "A string containing the URI of an http proxy for Maven to use.") 243 242 244 243 (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*." 246 245 (unless *maven-http-proxy* 247 246 (warn "No proxy specified in *MAVEN-HTTP-PROXY*") 248 247 (return-from make-proxy nil)) … … 256 255 (parse-integer (subseq authority (1+ (search ":" authority)))))) 257 256 ;; TODO allow specification of authentication 258 257 (authentication java:+null+)) 259 (jss:new 'org. sonatype.aether.repository.Proxy258 (jss:new 'org.eclipse.aether.repository.Proxy 260 259 scheme host port authentication))) 261 260 262 261 (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.") 264 263 (defun ensure-repository-system (&key (force nil)) 265 264 (when (or force (not *repository-system*)) 266 265 (setf *repository-system* (make-repository-system))) … … 298 297 (unless *init* (init)) 299 298 (let* ((artifact-string (format nil "~A:~A:~A" group-id artifact-id version)) 300 299 (artifact 301 (jss:new "org. sonatype.aether.util.artifact.DefaultArtifact" artifact-string))300 (jss:new "org.eclipse.aether.artifact.DefaultArtifact" artifact-string)) 302 301 (artifact-request 303 (java:jnew "org. sonatype.aether.resolution.ArtifactRequest")))302 (java:jnew "org.eclipse.aether.resolution.ArtifactRequest"))) 304 303 (#"setArtifact" artifact-request artifact) 305 304 (#"addRepository" artifact-request (ensure-remote-repository)) 306 305 (#"toString" (#"getFile" … … 308 307 (ensure-session) artifact-request)))))) 309 308 310 309 (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))) 312 311 313 312 (defparameter *default-repository* 314 313 "http://repo1.maven.org/maven2/") … … 348 347 (unless versionp 349 348 (warn "Using LATEST for unspecified version.")) 350 349 (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") 352 351 (format nil "~A:~A:~A" 353 352 group-id artifact-id version))) 354 353 (dependency 355 (java:jnew (jss:find-java-class " aether.graph.Dependency")354 (java:jnew (jss:find-java-class "org.eclipse.aether.graph.Dependency") 356 355 artifact (java:jfield (jss:find-java-class "JavaScopes") "RUNTIME"))) 357 356 (collect-request (java:jnew (jss:find-java-class "CollectRequest")))) 358 357 (#"setRoot" collect-request dependency) … … 375 374 (flet ((log (e) 376 375 (format *maven-verbose* "~&~A~%" (#"toString" e)))) 377 376 (java:jinterface-implementation 378 "org. sonatype.aether.RepositoryListener"377 "org.eclipse.aether.RepositoryListener" 379 378 "artifactDeployed" 380 379 #'log 381 380 "artifactDeploying"