Giter Site home page Giter Site logo

gradle-multi-module-project's Introduction

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.

gradle-multi-module-project's People

Contributors

jmazgaj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.