Subject: [PATCH 10/18] gnu: maven-resolver-api: Update to 1.9.4.

From: Julien Lepiller <[email-masked]>
Date: Sat, 25 Feb 2023 21:30:34 +0100

* gnu/packages/maven.scm (maven-resolver-api): Update to 1.9.4.
(maven-resolver-util)[native-inputs]: Update test dependencies.
(maven-resolver-named-lock): New variable.
(maven-resolver-impl, maven-resolver-transport-wagon)
(maven-resolver-transport-http): Update sisu.
---
 gnu/packages/maven.scm | 167 ++++++++++++++++++++++-------------------
 1 file changed, 91 insertions(+), 76 deletions(-)

diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 3ab8b6dffc..f96337a17d 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -40,7 +40,7 @@ (define-module (gnu packages maven)
 (define-public maven-resolver-api
   (package
     (name "maven-resolver-api")
-    (version "1.6.3")
+    (version "1.9.4")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -49,7 +49,7 @@ (define-public maven-resolver-api
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0hbbbxj14qyq8pccyab96pjqq90jnjmid1pml9kx55c5smfpjn37"))))
+                "0s18vivvapmrk407syrc8ib2qpmp01i3k46h6gqp7961n1p9wzlq"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "maven-resolver-api.jar"
@@ -90,7 +90,7 @@ (define maven-resolver-parent-pom
              #t))
          (replace 'install
            (install-pom-file "pom.xml")))))
-    (propagated-inputs '())))
+    (propagated-inputs (list maven-parent-pom-37))))
 
 (define-public maven-resolver-spi
   (package
@@ -140,7 +140,7 @@ (define-public maven-resolver-util
     (propagated-inputs
      (list maven-resolver-api))
     (native-inputs
-     (list java-junit java-hamcrest-core maven-resolver-test-util))
+     (list java-junit java-hamcrest-all maven-resolver-test-util))
     (synopsis "Utility classes for the maven repository system")
     (description "This package contains a collection of utility classes to
 ease usage of the repository system.")))
@@ -174,6 +174,35 @@ (define-public maven-resolver-connector-basic
     (description "This package contains a repository connector implementation
 for repositories using URI-based layouts.")))
 
+(define-public maven-resolver-named-locks
+  (package
+    (inherit maven-resolver-api)
+    (name "maven-resolver-named-locks")
+    (arguments
+     `(#:jar-name "maven-resolver-named-locks.jar"
+       #:source-dir "maven-resolver-named-locks/src/main/java"
+       #:test-dir "maven-resolver-named-locks/src/test"
+       #: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.named.providers.FileLockNamedLockFactory
+org.eclipse.aether.named.providers.LocalReadWriteLockNamedLockFactory
+org.eclipse.aether.named.providers.LocalSemaphoreNamedLockFactory
+org.eclipse.aether.named.providers.NoopNamedLockFactory\n")))))
+         (replace 'install
+           (install-from-pom "maven-resolver-named-locks/pom.xml")))))
+    (propagated-inputs
+      (list java-slf4j-api))
+    (native-inputs
+      (list java-javax-inject java-junit java-hamcrest-all))
+    (synopsis "Maven artifact resolver named locks")
+    (description "This package contains a synchronization utility implementation
+using named locks.")))
+
 (define-public maven-resolver-impl
   (package
     (inherit maven-resolver-api)
@@ -182,6 +211,7 @@ (define-public maven-resolver-impl
      `(#:jar-name "maven-resolver-impl.jar"
        #:source-dir "maven-resolver-impl/src/main/java"
        #:test-dir "maven-resolver-impl/src/test"
+       #:tests? #f; require more recent hamcrest
        #:phases
        (modify-phases %standard-phases
          (add-before 'build 'generate-sisu
@@ -189,37 +219,60 @@ (define-public maven-resolver-impl
              (mkdir-p "build/classes/META-INF/sisu")
              (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
                (lambda _
-                 (display
-                   (string-append
-                     ;; Build this list by looking for files containing "@Named"
-                     "org.eclipse.aether.internal.impl.DefaultArtifactResolver\n"
-                     "org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector\n"
-                     "org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultDeployer\n"
-                     "org.eclipse.aether.internal.impl.DefaultFileProcessor\n"
-                     "org.eclipse.aether.internal.impl.DefaultInstaller\n"
-                     "org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultMetadataResolver\n"
-                     "org.eclipse.aether.internal.impl.DefaultOfflineController\n"
-                     "org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositoryLayoutProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositorySystem\n"
-                     "org.eclipse.aether.internal.impl.DefaultSyncContextFactory\n"
-                     "org.eclipse.aether.internal.impl.DefaultTransporterProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultUpdateCheckManager\n"
-                     "org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer\n"
-                     "org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory\n"
-                     "org.eclipse.aether.internal.impl.LoggerFactoryProvider\n"
-                     "org.eclipse.aether.internal.impl.Maven2RepositoryLayoutFactory\n"
-                     "org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory\n"
-                     "org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory"))))
-             #t))
+                 ;; Build this list by looking for files containing "@Named"
+                 (display "org.eclipse.aether.internal.impl.DefaultArtifactResolver
+org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider
+org.eclipse.aether.internal.impl.DefaultDeployer
+org.eclipse.aether.internal.impl.DefaultFileProcessor
+org.eclipse.aether.internal.impl.DefaultInstaller
+org.eclipse.aether.internal.impl.DefaultLocalPathComposer
+org.eclipse.aether.internal.impl.DefaultLocalPathPrefixComposerFactory
+org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider
+org.eclipse.aether.internal.impl.DefaultMetadataResolver
+org.eclipse.aether.internal.impl.DefaultOfflineController
+org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager
+org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider
+org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher
+org.eclipse.aether.internal.impl.DefaultRepositoryLayoutProvider
+org.eclipse.aether.internal.impl.DefaultRepositorySystem
+org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle
+org.eclipse.aether.internal.impl.DefaultTrackingFileManager
+org.eclipse.aether.internal.impl.DefaultTransporterProvider
+org.eclipse.aether.internal.impl.DefaultUpdateCheckManager
+org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer
+org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory
+org.eclipse.aether.internal.impl.LoggerFactoryProvider
+org.eclipse.aether.internal.impl.Maven2RepositoryLayoutFactory
+org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory
+org.eclipse.aether.internal.impl.checksum.DefaultChecksumAlgorithmFactorySelector
+org.eclipse.aether.internal.impl.checksum.Md5ChecksumAlgorithmFactory
+org.eclipse.aether.internal.impl.checksum.Sha1ChecksumAlgorithmFactory
+org.eclipse.aether.internal.impl.checksum.Sha256ChecksumAlgorithmFactory
+org.eclipse.aether.internal.impl.checksum.Sha512ChecksumAlgorithmFactory
+org.eclipse.aether.internal.impl.checksum.SparseDirectoryTrustedChecksumsSource
+org.eclipse.aether.internal.impl.checksum.SummaryFileTrustedChecksumsSource
+org.eclipse.aether.internal.impl.checksum.TrustedToProvidedChecksumsSourceAdapter
+org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector
+org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector
+org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector
+org.eclipse.aether.internal.impl.filter.DefaultRemoteRepositoryFilterManager
+org.eclipse.aether.internal.impl.filter.GroupIdRemoteRepositoryFilterSource
+org.eclipse.aether.internal.impl.filter.PrefixesRemoteRepositoryFilterSource
+org.eclipse.aether.internal.impl.resolution.TrustedChecksumsArtifactResolverPostProcessor
+org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory
+org.eclipse.aether.internal.impl.synccontext.DefaultSyncContextFactory
+org.eclipse.aether.internal.impl.synccontext.legacy.DefaultSyncContextFactory
+org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapterFactoryImpl
+org.eclipse.aether.internal.impl.synccontext.named.providers.DiscriminatingNameMapperProvider
+org.eclipse.aether.internal.impl.synccontext.named.providers.FileGAVNameMapperProvider
+org.eclipse.aether.internal.impl.synccontext.named.providers.FileHashingGAVNameMapperProvider
+org.eclipse.aether.internal.impl.synccontext.named.providers.GAVNameMapperProvider
+org.eclipse.aether.internal.impl.synccontext.named.providers.StaticNameMapperProvider\n")))))
          (replace 'install
            (install-from-pom "maven-resolver-impl/pom.xml")))))
     (propagated-inputs
      (list maven-resolver-api
+           maven-resolver-named-locks
            maven-resolver-spi
            maven-resolver-util
            java-commons-lang3
@@ -229,7 +282,7 @@ (define-public maven-resolver-impl
            java-slf4j-api
            maven-resolver-parent-pom))
     (native-inputs
-     (list java-junit maven-resolver-test-util))))
+     (list java-hamcrest-all java-junit java-mockito-1 maven-resolver-test-util))))
 
 (define-public maven-resolver-transport-wagon
   (package
@@ -247,49 +300,9 @@ (define-public maven-resolver-transport-wagon
              (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.wagon.WagonTransporterFactory\n")))
-             #t))
-         (add-before 'build 'generate-components.xml
-           (lambda _
-             (mkdir-p "build/classes/META-INF/plexus")
-             (with-output-to-file "build/classes/META-INF/plexus/components.xml"
-               (lambda _
-                 (display
-                   (string-append
-                     "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<component-set>
-  <components>
-    <component>
-      <role>org.eclipse.aether.transport.wagon.WagonConfigurator</role>
-      <role-hint>plexus</role-hint>
-      <implementation>org.eclipse.aether.internal.transport.wagon.PlexusWagonConfigurator</implementation>
-      <description />
-      <isolated-realm>false</isolated-realm>
-      <requirements>
-        <requirement>
-          <role>org.codehaus.plexus.PlexusContainer</role>
-          <role-hint />
-          <field-name>container</field-name>
-        </requirement>
-      </requirements>
-    </component>
-    <component>
-      <role>org.eclipse.aether.transport.wagon.WagonProvider</role>
-      <role-hint>plexus</role-hint>
-      <implementation>org.eclipse.aether.internal.transport.wagon.PlexusWagonProvider</implementation>
-      <description />
-      <isolated-realm>false</isolated-realm>
-      <requirements>
-        <requirement>
-          <role>org.codehaus.plexus.PlexusContainer</role>
-          <role-hint />
-          <field-name>container</field-name>
-        </requirement>
-      </requirements>
-    </component>
-  </components>
-</component-set>\n"))))
-             #t)))))
+                 (display "org.eclipse.aether.internal.transport.wagon.PlexusWagonConfigurator
+org.eclipse.aether.internal.transport.wagon.PlexusWagonProvider
+org.eclipse.aether.transport.wagon.WagonTransporterFactory"))))))))
     (inputs
      `(("maven-resolver-api" ,maven-resolver-api)
        ("maven-resolver-spi" ,maven-resolver-spi)
@@ -374,7 +387,9 @@ (define-public maven-resolver-transport-http
              (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.http.HttpTransporterFactory\n"))))))))
+                 (display "org.eclipse.aether.transport.http.HttpTransporterFactory
+org.eclipse.aether.transport.http.Nexus2ChecksumExtractor
+org.eclipse.aether.transport.http.XChecksumChecksumExtractor\n"))))))))
     (inputs
      (list java-eclipse-sisu-inject
            java-eclipse-sisu-plexus
-- 
2.38.1