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 2022/03/06 21:08:24 UTC

[maven] 06/09: [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 maven-3.9.x
in repository https://gitbox.apache.org/repos/asf/maven.git

commit e1b46e233930b46f83bc47c373beb41681bb6972
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
    
    This closes #462
---
 maven-core/pom.xml              |  8 ++++++
 maven-embedder/pom.xml          | 58 ++++++++++++++++-------------------------
 maven-model-builder/pom.xml     | 10 +++++++
 maven-resolver-provider/pom.xml | 14 ++++++++++
 pom.xml                         | 46 ++++++++++++++++++++++++++++++++
 5 files changed, 101 insertions(+), 35 deletions(-)

diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 522f066..5d7c10a 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 a8bcc51..6792e62 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -75,41 +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>
-         <exclusion>
-           <groupId>org.checkerframework</groupId>
-           <artifactId>checker-qual</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 a2ba1b0..cd432cb 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 06c8383..2b9422c 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 9781f29..0815f33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,6 +58,8 @@ under the License.
     <plexusInterpolationVersion>1.26</plexusInterpolationVersion>
     <plexusUtilsVersion>3.3.0</plexusUtilsVersion>
     <guiceVersion>4.2.3</guiceVersion>
+    <guavaVersion>30.1-jre</guavaVersion>
+    <guavafailureaccessVersion>1.0.1</guavafailureaccessVersion>
     <sisuVersion>0.3.5</sisuVersion>
     <wagonVersion>3.5.1</wagonVersion>
     <securityDispatcherVersion>2.0</securityDispatcherVersion>
@@ -243,6 +245,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>