Netflix / Netflix/mantis

Specify all 3rdparty dependencies in the root build.gradle file

Open
#345 4 comments 1 reaction 1 assignee View on GitHub

@mabelbot is already working on this.

Since Feb 28, 2023.

good first issue
Dominant language
Java
Stars
1.5k
Forks
224
Avg merge
22h 46m
Merged PRs (30d)
1

Description

Context

Mantis has several sub-projects, and every sub-project depends on several 3rd party dependencies. Therefore, we would like consistency around how the 3rd party dependencies are defined and their versions. This would ensure a consistent set of jars in the classpath irrespective of the project that's getting deployed.

To achieve this goal, we introduced a new format for defining 3rd party dependencies in subprojects, as shown below.

implementation libraries.slf4jApi (correct)
implementation "org.slf4j:slf4j-api:${versions.slf4j}" (wrong)
implementation "org.slf4j:slf4j-api:1.2.3" (wrong)

Corresponding root.gradle changes:

ext.libraries = [
  slf4jApi       : "org.slf4j:slf4j-api:${versions.slf4j}"
]

This type of definition achieves the goal defined earlier. However, it is yet to be fully adopted. This ticket aims to do this cleanup for every subproject within mantis and create one or more PRs.

If you will work on this ticket, please create multiple PRs or have multiple commits for every subproject you have refactored to ensure it's easy to review the code.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.