You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2021/03/16 17:50:41 UTC

[maven] 01/01: [MNG-7068] Active dependency management for Google Guice/Guava

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

michaelo pushed a commit to branch 3.8.x/MNG-7068
in repository https://gitbox.apache.org/repos/asf/maven.git

commit cf97a4bdde020d7bb9b5d40ec7ee149be42dc11d
Author: boris-unckel <bu...@mail.unckel.net>
AuthorDate: Tue Jan 5 23:00:26 2021 +0100

    [MNG-7068] Active dependency management for Google Guice/Guava
---
 maven-core/pom.xml              |  8 ++++++
 maven-embedder/pom.xml          | 54 ++++++++++++++++++-----------------------
 maven-model-builder/pom.xml     | 10 ++++++++
 maven-resolver-provider/pom.xml | 14 +++++++++++
 pom.xml                         | 48 +++++++++++++++++++++++++++++++++++-
 5 files changed, 102 insertions(+), 32 deletions(-)

diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 74543e2..0b973a9 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -106,6 +106,14 @@ under the License.
       <classifier>no_aop</classifier>
     </dependency>
     <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>failureaccess</artifactId>
+    </dependency>
+    <dependency>
       <groupId>javax.inject</groupId>
       <artifactId>javax.inject</artifactId>
     </dependency>
diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml
index 085373b..9d7e1a9 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -75,37 +75,29 @@ under the License.
       <artifactId>maven-shared-utils</artifactId>
     </dependency>
     <dependency>
-       <groupId>com.google.inject</groupId>
-       <artifactId>guice</artifactId>
-       <classifier>no_aop</classifier>
-       <exclusions>
-         <exclusion>
-           <groupId>aopalliance</groupId>
-           <artifactId>aopalliance</artifactId>
-         </exclusion>
-         <!-- MNG-6549 remove unused transitive dependencies of Guava, that is a dependency of Guice -->
-         <exclusion>
-           <groupId>com.google.code.findbugs</groupId>
-           <artifactId>jsr305</artifactId>
-         </exclusion>
-         <exclusion>
-           <groupId>org.checkerframework</groupId>
-           <artifactId>checker-compat-qual</artifactId>
-         </exclusion>
-         <exclusion>
-           <groupId>com.google.errorprone</groupId>
-           <artifactId>error_prone_annotations</artifactId>
-         </exclusion>
-         <exclusion>
-           <groupId>com.google.j2objc</groupId>
-           <artifactId>j2objc-annotations</artifactId>
-         </exclusion>
-         <exclusion>
-           <groupId>org.codehaus.mojo</groupId>
-           <artifactId>animal-sniffer-annotations</artifactId>
-         </exclusion>
-       </exclusions>
-     </dependency>
+      <groupId>com.google.inject</groupId>
+      <artifactId>guice</artifactId>
+      <classifier>no_aop</classifier>
+      <exclusions>
+        <exclusion>
+          <groupId>aopalliance</groupId>
+          <artifactId>aopalliance</artifactId>
+        </exclusion>
+        <!-- MNG-7068 Active dependency management for Google Guice / Google Guava. Excludes of Guava are managed in parent POM -->
+        <exclusion>
+          <groupId>com.google.guava</groupId>
+          <artifactId>guava</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>failureaccess</artifactId>
+    </dependency>
     <dependency>
       <groupId>javax.inject</groupId>
       <artifactId>javax.inject</artifactId>
diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index b0eb11a..a326d8e 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -75,6 +75,16 @@ under the License.
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>failureaccess</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.xmlunit</groupId>
       <artifactId>xmlunit-core</artifactId>
       <scope>test</scope>
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
index 33a605b..34986bf 100644
--- a/maven-resolver-provider/pom.xml
+++ b/maven-resolver-provider/pom.xml
@@ -80,8 +80,22 @@ under the License.
           <groupId>aopalliance</groupId>
           <artifactId>aopalliance</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>com.google.guava</groupId>
+          <artifactId>guava</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>failureaccess</artifactId>
+      <optional>true</optional>
+    </dependency>
     <!-- Testing -->
     <dependency>
       <groupId>org.apache.maven.resolver</groupId>
diff --git a/pom.xml b/pom.xml
index f94b73a..1e15682 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,7 +57,9 @@ under the License.
     <plexusVersion>2.1.0</plexusVersion>
     <plexusInterpolationVersion>1.25</plexusInterpolationVersion>
     <plexusUtilsVersion>3.2.1</plexusUtilsVersion>
-    <guiceVersion>4.2.1</guiceVersion>
+    <guiceVersion>4.2.3</guiceVersion>
+    <guavaVersion>30.1-jre</guavaVersion>
+    <guavafailureaccessVersion>1.0.1</guavafailureaccessVersion>
     <sisuInjectVersion>0.3.4</sisuInjectVersion>
     <wagonVersion>3.4.3</wagonVersion>
     <jsoupVersion>1.12.1</jsoupVersion>
@@ -244,6 +246,50 @@ under the License.
         <artifactId>guice</artifactId>
         <version>${guiceVersion}</version>
         <classifier>no_aop</classifier>
+        <exclusions>
+          <exclusion>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <!-- This is a transitive dep of com.google.inject:guice -->
+        <groupId>com.google.guava</groupId>
+        <artifactId>guava</artifactId>
+        <version>${guavaVersion}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>com.google.code.findbugs</groupId>
+            <artifactId>jsr305</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>com.google.errorprone</groupId>
+            <artifactId>error_prone_annotations</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>com.google.guava</groupId>
+            <artifactId>failureaccess</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>com.google.guava</groupId>
+            <artifactId>listenablefuture</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>com.google.j2objc</groupId>
+            <artifactId>j2objc-annotations</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.checkerframework</groupId>
+            <artifactId>checker-qual</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <!-- This is a transitive dep of com.google.guava:guava -->
+        <groupId>com.google.guava</groupId>
+        <artifactId>failureaccess</artifactId>
+        <version>${guavafailureaccessVersion}</version>
       </dependency>
       <dependency>
         <groupId>org.eclipse.sisu</groupId>