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

SOLR-17602: Per-Module Dependency Locking #2925

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

malliaridis
Copy link
Contributor

https://issues.apache.org/jira/browse/SOLR-17602

Description

To improve the developer experience of the dependency management, we are looking for solutions to make the dependency lock files more developer-friendly / readable.

Solution

This solution is based on #2915 which introduces a platform module for aligning the dependency version across our project via constraints.

This PR removes the carrotsearch dependencycheck plugin and falls back to the default gradle tasks for generating lockfiles. It defines a new task that can be used via gradlew resoslveAndLockAll --write-locks. This task generates or updates existing gradle.lockfile in each module.

Additional gradle configuration has been added to lock all module configurations by default. The task resolveAndLockAll will then filter and lock only the resolveable dependencies.

PR should update documentation before merging (in case this solution is considered).

Tests

No tests have been made yet.

Checklist

Please review the following and check all that apply:

  • I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
  • I have created a Jira issue and added the issue ID to my pull request title.
  • I have given Solr maintainers access to contribute to my PR branch. (optional but recommended, not available for branches on forks living under an organisation)
  • I have developed this patch against the main branch.
  • I have run ./gradlew check.
  • I have added tests for my changes.
  • I have added documentation for the Reference Guide

The platform module includes all dependencies from the
version catalog as constraints and is added to the root
modules as API for transitive inheritance of the constraints.
Removes carrot-search dependencychecks plugin
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.

1 participant