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

Fix: Downgrade reflections to 0.9.11 (fixes #60) #61

Closed

Conversation

porunov
Copy link
Contributor

@porunov porunov commented Mar 6, 2020

Fixes #60

@porunov porunov force-pushed the rollback-reflections-to-0.9.11 branch from a750fe0 to edd69cf Compare March 6, 2020 22:32
@freemo
Copy link
Member

freemo commented Mar 6, 2020

@porunov ahh wonderful, includes a unit test. perfect. I'll review tonight most likely maybe tomorrow (11:30pm here). Glad to see you added yourself as a contributor as well and the changelog, looks good at first glance just need to test it locally.

@porunov
Copy link
Contributor Author

porunov commented Mar 6, 2020

@freemo Thank you! The unit test should fail with reflections 0.9.12 and succeed with reflections 0.9.11.

@freemo
Copy link
Member

freemo commented Mar 6, 2020

@freemo Thank you! The unit test should fail with reflections 0.9.12 and succeed with reflections 0.9.11.

Perfect, thanks.

By the way I can and will approve pull requests over here at github, but it requires extra steps from me (I need to check it out and recreate the PR over on gitlab). If you plan to be a regular contributor it would really help if you could submit the pull requests on our gitlab instance instead. However if that will be a barrier that prevents you from contributing feel free to continue to contribute them here.

@porunov
Copy link
Contributor Author

porunov commented Mar 7, 2020

@freemo Sure. I have created a PR in GitLab here: https://git.qoto.org/Ferma/Ferma/-/merge_requests/1

It is my first usage of GitLab, so if I do something wrong, just tell me

@freemo
Copy link
Member

freemo commented Mar 7, 2020 via email

@porunov
Copy link
Contributor Author

porunov commented Mar 7, 2020

@freemo I was also researching other options yesterday. I noticed the next reflections fork:
https://github.com/aschoerk/reflections8
Current latest version is 0.11.7: https://search.maven.org/search?q=net.oneandone.reflections8
It says: Since org.reflections 0.9.12 is released: obsolete.
But the thing is that 0.11.7 version of reflections8 is newer then 0.9.11 of reflections. I noticed that they don't have such bug (didn't test it yet but the code of Reflections.class looks fine to me).
Similar to 0.9.12 is no longer depends on guava but depends on java 8.
So, I was thinking, we might give a try for 0.11.7 of reflections8 and after 0.9.13 of reflections is released, switch back to reflections (assuming it fixes the bug).

What do you think about it?

@freemo
Copy link
Member

freemo commented Mar 7, 2020 via email

@porunov
Copy link
Contributor Author

porunov commented Mar 7, 2020

@freemo Overall it isn't a big problem because we can exclude transitive dependencies but it would be good to exclude guava from dependencies because it often becomes a problem when you have several libraries which both compiled with using different guava versions and that is why they might be not compatible because guava versions are often incompatible with older guava versions.
I checked 0.11.7 of reflections8 it works as expected and doesn't introduce guava dependency (same as 0.9.12 of reflections). I will check how much Ferma depends on guava, maybe we can move to use Java 8 instead of guava. If so, I will provide the PR shortly

@freemo
Copy link
Member

freemo commented Mar 7, 2020 via email

@porunov
Copy link
Contributor Author

porunov commented Mar 7, 2020

@freemo I know that Ferma directly depends on guava but are you OK if we move all guava implementations to java 8 implementations (i.e. streams API and direct java utils usage)? I think it isn't hard to detach Ferma from guava. After that we can just remove guava dependency from Ferma. Or do you have another point of view regarding the guava (i.e. like cleaner code at some places or something like that)?

@porunov
Copy link
Contributor Author

porunov commented Mar 7, 2020

I am just asking you, because I have noticed that many libraries (datastax cassandra driver, reflections, etc.) are moving out from guava due to dependency problems. It is much easier to include dependency which doesn't depend on guava then dependency which depends on guava due to binary incompatibility between many guava versions.

@freemo
Copy link
Member

freemo commented Mar 7, 2020 via email

@freemo
Copy link
Member

freemo commented Mar 7, 2020 via email

@porunov
Copy link
Contributor Author

porunov commented Mar 7, 2020

Suppressed by #63

@porunov porunov closed this Mar 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dependency reflections 0.9.12 doesn't add scanners on empty urls
2 participants