summary refs log tree commit diff
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2021-06-01 00:44:19 +0200
committerJulien Lepiller <julien@lepiller.eu>2021-06-22 13:10:30 +0200
commit5bb3395c42c3475cd4d71d475ae050f1b80fbe2d (patch)
tree7e667f5c2a452e1491bba3938393edd424bdcd61
parent0db1393b732304220aff978676b5354bfa186a65 (diff)
downloadguix-5bb3395c42c3475cd4d71d475ae050f1b80fbe2d.tar.gz
guix: maven: Look in local packages when searching for package version.
* guix/build/maven/pom.scm (fix-pom-dependencies): Also look at local
packages when looking for a package version.
-rw-r--r--guix/build/maven/pom.scm20
1 files changed, 13 insertions, 7 deletions
diff --git a/guix/build/maven/pom.scm b/guix/build/maven/pom.scm
index ffb4515179..9c0669c7cd 100644
--- a/guix/build/maven/pom.scm
+++ b/guix/build/maven/pom.scm
@@ -481,7 +481,7 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
               (cons `(http://maven.apache.org/POM/4.0.0:version ,version) dep)))
           dep)))
 
-  (define* (find-version inputs group artifact #:optional optional?)
+  (define (find-packaged-version inputs group artifact)
     (let* ((directory (string-append "lib/m2/" (group->dir group)
                                      "/" artifact))
            (java-inputs (filter
@@ -493,13 +493,19 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
            (versions (append-map ls java-inputs))
            (versions (sort versions version>?)))
       (if (null? versions)
-        (if optional?
           #f
-          (begin
-            (format (current-error-port) "maven: ~a:~a is missing from inputs~%"
-                    group artifact)
-            (throw 'no-such-input group artifact)))
-        (car versions))))
+          (car versions))))
+
+  (define* (find-version inputs group artifact #:optional optional?)
+    (let ((packaged-version (find-packaged-version inputs group artifact))
+          (local-version (assoc-ref (assoc-ref local-packages group) artifact)))
+      (or local-version packaged-version
+          (if optional?
+            #f
+            (begin
+              (format (current-error-port) "maven: ~a:~a is missing from inputs~%"
+                      group artifact)
+              (throw 'no-such-input group artifact))))))
 
   (let ((tmpfile (string-append pom-file ".tmp")))
     (with-output-to-file pom-file