You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2022/11/17 15:21:47 UTC

[maven] branch maven-3.9.x updated: [3.9.x][MNG-7586] Update Maven Resolver to 1.9.1 (#831)

This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch maven-3.9.x
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/maven-3.9.x by this push:
     new 2d384ddce [3.9.x][MNG-7586] Update Maven Resolver to 1.9.1 (#831)
2d384ddce is described below

commit 2d384ddce37aa99e23e8ea43998f07c15532f9d2
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Thu Nov 17 16:21:41 2022 +0100

    [3.9.x][MNG-7586] Update Maven Resolver to 1.9.1 (#831)
    
    Update to Maven Resolver 1.9.1 and apply required changed changes in Maven.
    
    Changes:
    - hook in lifecycle
    
    ---
    
    https://issues.apache.org/jira/browse/MNG-7586
---
 .../main/java/org/apache/maven/DefaultMaven.java   |  3 ++
 .../maven/internal/aether/ResolverLifecycle.java   | 54 ++++++++++++++++++++++
 pom.xml                                            |  2 +-
 3 files changed, 58 insertions(+), 1 deletion(-)

diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
index 68fb64d66..f8f7d8cad 100644
--- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
+++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
@@ -366,6 +366,9 @@ public class DefaultMaven
         }
     }
 
+    /**
+     * TODO: why is this method public?
+     */
     public RepositorySystemSession newRepositorySession( MavenExecutionRequest request )
     {
         return repositorySessionFactory.newRepositorySession( request );
diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/ResolverLifecycle.java b/maven-core/src/main/java/org/apache/maven/internal/aether/ResolverLifecycle.java
new file mode 100644
index 000000000..8df0fae60
--- /dev/null
+++ b/maven-core/src/main/java/org/apache/maven/internal/aether/ResolverLifecycle.java
@@ -0,0 +1,54 @@
+package org.apache.maven.internal.aether;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Provider;
+
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.sisu.EagerSingleton;
+
+import static java.util.Objects.requireNonNull;
+
+/**
+ * Maven internal component that bridges container "shut down" to {@link RepositorySystem#shutdown()}.
+ *
+ * @since 3.9.0
+ */
+@Named
+@EagerSingleton
+public final class ResolverLifecycle
+{
+    private final Provider<RepositorySystem> repositorySystemProvider;
+
+    @Inject
+    public ResolverLifecycle( Provider<RepositorySystem> repositorySystemProvider )
+    {
+        this.repositorySystemProvider = requireNonNull( repositorySystemProvider );
+    }
+
+    @PreDestroy
+    public void shutdown()
+    {
+        repositorySystemProvider.get().shutdown();
+    }
+}
diff --git a/pom.xml b/pom.xml
index ad3df8cbf..09081cd2e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -64,7 +64,7 @@ under the License.
     <securityDispatcherVersion>2.0</securityDispatcherVersion>
     <cipherVersion>2.0</cipherVersion>
     <jxpathVersion>1.3</jxpathVersion>
-    <resolverVersion>1.8.2</resolverVersion>
+    <resolverVersion>1.9.1</resolverVersion>
     <slf4jVersion>1.7.36</slf4jVersion>
     <xmlunitVersion>2.2.1</xmlunitVersion>
     <powermockVersion>1.7.4</powermockVersion>