This is a PoC which aims to create a Custom Gradle Distribution which would reduce duplication of common configurations needed usually inside mid to big corporations — specially in a microservices ecosystem which ends up in tons of repositories, along with standardisation of tasks through plugins automatically applied.
This repository consists on three main components:
- The first one is the Custom Distribution itself, placed on custom-gradle-distribution
- On the other hand, the custom-gradle-plugin contains a custom plugin
- Finally, example-project is an example of a project which should use both the GCD and the plugin.
On the other hand, the root folder contains some glue code to make everything works together.
This is repository with multiple Gradle projects (it's not a multimodule Gradle project).
In order for IntelliJ to import all the projects, you can import them by right-clicking on each build.gradle.kts
and selecting Import gradle module
.
In the parent folder, run:
$ ./build.sh
so that:
- The plugin gets published locally.
- The Gradle Custom Distribution is created and published locally.
- And, the example project gets benefit of both, the tasks defined in the plugin and the common configuration defined in the distribution.
This project is licensed under the MIT License - see the LICENSE.md file for details
I got inspired by John Carter -- warlordofmars