gnu: Add maven-resolver-transport-file.
authorReily Siegel <mail@reilysiegel.com>
Thu, 23 Dec 2021 23:04:22 +0000 (18:04 -0500)
committerRicardo Wurmus <rekado@elephly.net>
Wed, 12 Jan 2022 16:43:02 +0000 (17:43 +0100)
* gnu/packages/maven.scm (maven-resolver-transport-file): New variable.

gnu/packages/maven.scm

index a8f053f..ad0db99 100644 (file)
@@ -312,6 +312,47 @@ for repositories using URI-based layouts.")))
     (description "This package contains a transport implementation based on
 Maven Wagon, for use in Maven.")))
 
+(define-public maven-resolver-transport-file
+  (package
+    (inherit maven-resolver-api)
+    (name "maven-resolver-transport-file")
+    (arguments
+     `(#:jar-name "maven-resolver-transport-file.jar"
+       #:source-dir "maven-resolver-transport-file/src/main/java"
+       #:test-dir "maven-resolver-transport-file/src/test"
+       #:jdk ,icedtea-8
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'generate-sisu
+           (lambda _
+             (mkdir-p "build/classes/META-INF/sisu")
+             (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
+               (lambda _
+                 (display "org.eclipse.aether.transport.file.FileTransporterFactory\n"))))))))
+    (inputs
+     (list java-eclipse-sisu-inject
+           java-eclipse-sisu-plexus
+           java-javax-inject
+           java-plexus-classworlds
+           java-plexus-component-annotations
+           java-plexus-utils
+           java-slf4j-api
+           maven-resolver-api
+           maven-resolver-spi
+           maven-resolver-util
+           maven-wagon-provider-api))
+    (native-inputs
+     (list java-asm
+           java-aopalliance
+           java-cglib
+           java-guava
+           java-guice
+           java-hamcrest-core
+           java-junit
+           maven-resolver-test-util))
+    (synopsis "Transport implementation for Maven")
+    (description "This package contains a transport implementation based on
+files, for use in Maven.")))
 ;; aether is the parent project that was forked into maven-resolver.  It used
 ;; to be used with older versions of Maven, and is still required for some
 ;; plugins and their dependencies.  This version is required for the plugins,