/gradle-multi-module-project

Shows some gradle features of multi module project management

Primary LanguageJava

Sample multi module Gradle project


The purpose of this project is to use Gradle as build tool and to show some of its features like:

  • multi module project configuration
  • using some modules in others
  • creating custom tasks and task dependencies
  • adding and using plugins
  • dividing the build script into separate files

Project comes with embedded Gradle Wrapper, so use the gradlew command instead of gradle (if it is installed on the system).

The project uses Java 13 source target.


Run gradlew -q projects to see the project and subprojects structure.

The server-module was created as new module using Spring Initializr generator bounded to the IDE.
Later to make it's configuration clear and files clear, the settings.gradle wrapper and .gradle directories were removed
from the project and few of the build script instructions were deleted to remove the boiler plate code.

The library-module, data-model, shared and it's submodules are having empty build.gradle files, because they take advantage of being already by root project build script.


This project was made in purpose of showing working examples of Gradle features described in this article:
TODO::link article when it's published



If you are having any idea or request to extend this project with other examples of using Gradle features, you are more than welcome to report an issue on this github repository.

Packaging the modern javascript front-end code to the jar packaged web app will be covered in different project.





//TODO::
1. Add task to copy runnable jar files generated when building the project to the root project build directory.
2. Show the api and implementation differences by extending library-module.
3. Link the gradle repository with project covering packing front-end with java backend to single jar.