Hello everyone, I would like to merge https://github.com/apache/solr/pull/2925 next week, after doing some small cleanups.
The PR improves the way our dependencies are resolved by introducing a platform module that automatically adds all our dependencies from our version catalog (gradle/libs.version.toml) as constraints. After the merge, we should be able to use solrbot again (some post-testing is required), as dependabot has proven quite difficult to introduce (see discussions in #2880). With the PR changes merged it should now be easier to add, remove or update a dependency. We no longer have to manually add or maintain a list of dependency constraints. Resolving conflicts should also be as simple as adding the library to our catalog with the specific version that solves the conflict. What changes from the flow is that we now lock versions with the gradle task "gradlew resolveAndLockAll --write-locks" and no longer use the task "writeLocks" that was provided by a third-party plugin. The impact of a dependency change is made clearer when reviewing a PR, as the lockfiles are more human-readable. Each module stores its own lockfile, which should make it more obvious when a dependency change affects other sub-modules as well. New modules should consider adding the platform module as a dependency via `implementation platform(project(":platform"))` to ensure that the version constraints are applied correctly. If you plan to review the PR and don't have the time this week, let me know so that I can postpone the merge of the PR. Best, Christos