opensearch-project / opensearch-project/sql

[FEATURE] Migrate Dependencies to Gradle Version Catalog

Open
#3,316 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
176
Forks
229
Avg merge
2d 21h
Merged PRs (30d)
43

Description

Is your feature request related to a problem?
Currently, dependency versions are being declared on respective build.gradle file module with Groovy DSL.
This scattered approach complicates maintenance, increase the risk of inconsistencies, and make it challenging to manage and update dependencies across the SQL project.

Let's take Junit as an example:
Which both versions .4.13.2 and 5.9.3 are being declared within the project, and because of this, test-cases syntax are being diverted accordingly throughout the project.

What solution would you like?
To have a two-phases approach to eventually migrate all the versions declaration from the current form, to Gradle version catalog, which includes:

  • Phase-1: Centralise all version declaration in the form of Gradle property
  • Phase-2: Migrate Gradle properties into a standalone libs.versions.toml file.

What alternatives have you considered?
A Gradle version catalog is not suitable in this SQL project, then we should at-least centralise all version declaration into parent module, as a custom configuration file.

Do you have any additional context?
Gradle site reference for version catalogs: https://docs.gradle.org/current/userguide/version_catalogs.html?utm_source=chatgpt.com

PR placeholder:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the dependency declarations in the module build.gradle files and the Phase-1 PR, opensearch-project/sql#3294. Compare the current Gradle properties approach with Gradle's version catalog guidance, then define the remaining migration to a standalone libs.versions.toml file. Done means dependency versions are centralized without inconsistent declarations across the SQL project.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.