Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove dependency to Guava #135

Open
xerial opened this issue Jun 24, 2019 · 4 comments
Open

Remove dependency to Guava #135

xerial opened this issue Jun 24, 2019 · 4 comments
Labels
dependencies Pull requests that update a dependency file

Comments

@xerial
Copy link
Member

xerial commented Jun 24, 2019

A follow-up task for #134, as Guava causes dependency issues for most of dependent components.

@thorbjornsen
Copy link

Started replacing Guava related dependencies with Java 1.8 replacements.

#137

@dmikurube
Copy link
Member

@xerial Along with this (past) effort to remove Guava, I thought that we can remove Guice without any cost?

Its pom.xml has Guice as its dependency, but I was not able to find any use of Guice in the codebase...

@exoego
Copy link
Contributor

exoego commented Jan 25, 2023

The below is a result of mvn dependency:tree -DoutputFile=mvn_dependency_tree.txt .
There is obviously guava, but guice is no more.

com.treasuredata.client:td-client:jar:1.0.1-SNAPSHOT
+- com.googlecode.json-simple:json-simple:jar:1.1.1:compile
+- org.msgpack:msgpack-core:jar:0.8.16:test
+- com.squareup.okhttp3:okhttp:jar:3.14.9:compile
|  \- com.squareup.okio:okio:jar:1.17.2:compile
+- com.squareup.okhttp3:okhttp-urlconnection:jar:3.14.9:compile
+- com.squareup.okhttp3:mockwebserver:jar:3.14.9:test
+- com.google.guava:guava:jar:31.1-jre:compile
|  +- com.google.guava:failureaccess:jar:1.0.1:compile
|  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
|  +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
|  +- org.checkerframework:checker-qual:jar:3.12.0:compile
|  +- com.google.errorprone:error_prone_annotations:jar:2.11.0:compile
|  \- com.google.j2objc:j2objc-annotations:jar:1.3:compile
+- com.fasterxml.jackson.core:jackson-core:jar:2.10.5:compile
+- com.fasterxml.jackson.core:jackson-databind:jar:2.10.5.1:compile
+- com.fasterxml.jackson.core:jackson-annotations:jar:2.10.5:compile
+- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.5:compile
+- com.fasterxml.jackson.datatype:jackson-datatype-json-org:jar:2.10.5:compile
|  \- org.json:json:jar:20180813:compile
+- org.slf4j:slf4j-api:jar:2.0.6:compile
+- org.immutables:value:jar:2.2.10:provided
+- org.immutables:builder:jar:2.2.10:provided
+- javax.annotation:javax.annotation-api:jar:1.3.2:compile
+- ch.qos.logback:logback-classic:jar:1.2.11:test
|  \- ch.qos.logback:logback-core:jar:1.2.11:test
+- junit:junit:jar:4.13.1:test
|  \- org.hamcrest:hamcrest-core:jar:1.3:test
+- org.mockito:mockito-core:jar:4.10.0:test
|  +- net.bytebuddy:byte-buddy:jar:1.12.19:test
|  +- net.bytebuddy:byte-buddy-agent:jar:1.12.19:test
|  \- org.objenesis:objenesis:jar:3.3:test
+- org.bigtesting:fixd:jar:1.0.0:test
|  \- org.simpleframework:simple:jar:5.1.4:test
+- org.littleshoot:littleproxy:jar:1.0.0-beta8:test
|  +- commons-cli:commons-cli:jar:1.2:test
|  +- commons-codec:commons-codec:jar:1.7:test
|  +- commons-io:commons-io:jar:2.4:test
|  +- org.apache.commons:commons-lang3:jar:3.1:test
|  +- io.netty:netty-all:jar:4.0.14.Final:test
|  +- com.barchart.udt:barchart-udt-bundle:jar:2.3.0:test
|  \- org.littleshoot:dnssec4j:jar:0.1:test
|     +- org.littleshoot:dnsjava:jar:2.1.3:test
|     \- log4j:log4j:jar:1.2.17:test
+- org.hamcrest:hamcrest-library:jar:1.3:test
+- org.exparity:hamcrest-date:jar:2.0.8:test
\- joda-time:joda-time:jar:2.12.1:test

@exoego
Copy link
Contributor

exoego commented Jan 27, 2023

Safer steps to remove Guava dependency

  1. Deprecate members that accept/returns Guava's Multimap and Function.
  2. Remove all com.google.~ except Multimap-related and Function-related.
  3. Release a minor version, so users get aware of depreciation and start code migration.
  4. Remove the deprecated members along with all Multimap and Function, and Guava dependency.
  5. Release a major version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants