diff mbox series

[bug#48766,06/14] guix: maven: Look in local packages when searching for package version.

Message ID 20210531224427.13300-6-julien@lepiller.eu
State Accepted
Headers show
Series [bug#48766,01/14] guix: java-utils: Factorize pom.xml generation. | expand

Commit Message

Julien Lepiller May 31, 2021, 10:44 p.m. UTC
* guix/build/maven/pom.scm (fix-pom-dependencies): Also look at local
packages when looking for a package version.
---
 guix/build/maven/pom.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)
diff mbox series

Patch

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