Specify all 3rdparty dependencies in the root build.gradle file
@mabelbot is already working on this.
Since Feb 28, 2023.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.