Skip to content

Switch s2-geometry to google's 'official' version #14599

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

dweiss
Copy link
Contributor

@dweiss dweiss commented Apr 30, 2025

This isn't complete. There are some extra dependencies I'm not sure are needed. But overall, the transition seems to be simple. Not that the "new" library from Google is that well maintained (there is only one version published).

…cessor configuration from versions.lock - it does not seem to be relevant to us.
@@ -28,7 +28,6 @@ allprojects {

def testConfigurations = project.configurations.matching {
it.name in [
"annotationProcessor",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've removed annotation processor configuration from version lock computation. I don't think it's relevant to us what's used in annotation processors.

@dweiss
Copy link
Contributor Author

dweiss commented May 1, 2025

This requires pulling in guava, which in turn has a module-info in a multi-release jar location. ECJ fails on this due to this bug I filed 4 years ago:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=577790
ported to gh as eclipse-jdt/eclipse.jdt.core#2778

dweiss added 3 commits May 1, 2025 09:43
…va is on module path and error prone (annotation processor) uses it. If it's excluded from module classpath, it cannot be found and fails the build.
@dweiss dweiss marked this pull request as ready for review May 1, 2025 10:59
@dweiss
Copy link
Contributor Author

dweiss commented May 1, 2025

I've made it run and compile. It is surprisingly hairy because of modular classpaths, errorprone interactions and extra dependencies brought in. There is a single version of this s2 geometry library ever published. At this point I'm thinking we could just fold whatever is needed into this module (it is asl2) instead of importing the external jar...

@rmuir
Copy link
Member

rmuir commented May 1, 2025

I like the idea of reducing the deps: not anything crazy, but just trying to keep the dep tree minimal. We frequently hear from users on decades-old versions on the ML, so it is less problems for end-users as well.

@dweiss
Copy link
Contributor Author

dweiss commented May 1, 2025

I've already excluded what was possible. Anything more would require copying the code over and manual removal of dependencies (which shouldn't be too difficult). I'm at crossroads here. This guava dependency is going to be a problem, I can sense it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants