Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/valentinjdt/gradle-catalog-example
Ce dépôt contient deux projet : le premier servant de catalogue de dépendances, le second servant de projet consumant les dépendances.
https://github.com/valentinjdt/gradle-catalog-example
dependencies dependencies-manager gradle java kotlin managment
Last synced: 29 days ago
JSON representation
Ce dépôt contient deux projet : le premier servant de catalogue de dépendances, le second servant de projet consumant les dépendances.
- Host: GitHub
- URL: https://github.com/valentinjdt/gradle-catalog-example
- Owner: ValentinJDT
- Created: 2024-11-12T09:14:53.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-19T15:05:13.000Z (about 1 month ago)
- Last Synced: 2024-11-19T15:47:39.080Z (about 1 month ago)
- Topics: dependencies, dependencies-manager, gradle, java, kotlin, managment
- Language: Kotlin
- Homepage:
- Size: 79.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Language : EN
## How does it work?
### 1) build-convention: Managing maven repositories and dependencies
The `build-convention`project is a multi-module project that allows you to manage maven dependencies and repositories centrally.
centrally.To modify dependencies, go to `catalog/build.gradle.kts` and define dependencies like the JSON example. Dependency versions can be defined using the function or in `gradle.properties`.
To modify maven repositories, go to `plugin/GradleRepositoriesPlugin.kt` and define them in the
function.
The `defineRepositories()` function contains the dependency repositories.### 2) main-project: Project using the `build-convention` plugin
To use the `build-convention` plugin, you need to add it to the `settings.gradle.kts` file.
If you're using a specific maven repository, remember to add it to `pluginManagement` so that you can import
build-convention`.## Why do this?
The aim is to manage dependency versions centrally and update them easily in the case of
of a project with several modules and/or several gradle projects: this avoids version desynchronization.
It also lightens the load on projects' build.gradle.kts files by defining dependencies and maven repositories within a
a project.## Architectural choice
The plugin and catalog have the same version. This avoids juggling several versions without understanding what you're
manipulating.# Langue : FR
## Comment cela fonctionne-t-il ?
### 1) build-convention : Gestion des dépôts maven et des dépendances
Le projet `build-convention` est un projet multi-module qui permet de gérer les dépendances et les dépôts maven de
manière centralisée.Pour modifier les dépendances, il faut se rendre dans `catalog/build.gradle.kts` et définir les dépendances comme l'exemple de JSON. Les versions des dépendances peuvent être défini grâce à la fonction ou dans `gradle.properties`.
Pour modifier les dépôts maven, il faut se rendre dans `plugin/GradleRepositoriesPlugin.kt` et les définir dans la
fonction prévue à cet effet.
La fonction `defineRepositories()` contient les dépôts des dépendances.### 2) main-project : Projet utilisant le plugin `build-convention`
Pour utiliser le plugin `build-convention`, il faut ajouter le plugin dans le fichier `settings.gradle.kts`.
Si vous utilisez un dépôt maven spécifique, pensez l'à ajouter dans `pluginManagement` afin de pouvoir importer
`build-convention`.## Pourquoi faire cela ?
Le but est de gérer les versions des dépendances de manière centralisée et de les mettre à jour facilement dans le carde
d'un projet avec plusieurs modules et/ou plusieurs projets gradle : cela évite la désynchronisation des versions.
Cela allège également le fichier `build.gradle.kts` des projets en définissant les dépendances et les dépôts maven dans
un projet.## Choix architectural
Le plugin et le catalog ont la même version. Cela évite de jongler avec plusieurs versions sans comprendre ce que l'on
manipule.