-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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 guava #518
base: master
Are you sure you want to change the base?
remove guava #518
Conversation
if (!(superclass instanceof ParameterizedType)) { | ||
throw new IllegalArgumentException(superclass + " isn't parameterized"); | ||
} | ||
this.type = (Class<T>) ((ParameterizedType) superclass).getActualTypeArguments()[0]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is probably one of the only changes that I am not completely confident in, looks like the tests were happy with this change but not sure of other usages not covered in test cases
* @deprecated use {@link #getEntity(Type)} | ||
*/ | ||
@Deprecated | ||
public <T> T getEntity(TypeToken<T> type) throws Exception; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a breaking change because we leaked guava into the public interface, looks like this is deprecated with a replacement so removal of this method will unlock guava removal
api 'com.netflix.netflix-commons:netflix-commons-util:0.1.1' | ||
api 'com.github.ben-manes.caffeine:caffeine:2.9.2' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if we have to involve lawyers but this does change our license structure slightly. The fact that it is used in Spring and Cassandra likely means it's probably permissible.
Is there a process for a review and/or merge for this project? |
I used openrewrite to remove most usages of guava. The loadbalancer project uses a loading cache which we need to keep in place but I reduced the transitive graph by only pulling in guava in that subproject.