[REVIEW][Java] Relax cuVS version matching
As discussed during a sync, we want to relax version matching/checking between cuvs-java and the cuVS C library. The rationale is that the C API should be pretty stable, and the cuvs-java bindings to the C API should not be affected by the cuVS version, provided that the API does not change. For these reasons, we do still want to check that
- the C library version is at least as recent as the Java module
- the C library is not "too far" in the future; we do not want unlimited forward compatibility, we want to be able to change the C API at some point (after e.g. a deprecation cycle).
This PR introduces these checks, allowing cuvs-java to start and bind with C libraries up to 3 more cuVS releases in the future.
This pull request requires additional validation before any workflows can run on NVIDIA's runners.
Pull request vetters can view their responsibilities here.
Contributors can view more details about this message here.
/ok to test aedc15e
/ok to test 080952e
CI failures are a result of https://github.com/rapidsai/raft/pull/2813. Should be resolved by https://github.com/rapidsai/raft/pull/2881.
/ok to test 080952e
/ok to test d4d1f4d
/merge