andrei-punko / composite-build-usage-example

Java project build externalization by put its config into separate repository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Composite Build usage example

Java CI with Gradle Coverage Branches

Based on this Spring Boot app template. Sources was not changed, only build script adjusted

Approach description

Composite Build is externalization of build by put dependencies and plugins into separate Git repository (which added to project as Git submodule)

After that build script looks like this:

service(version = "0.0.1") {
    dependencies {
        springBoot {
            web()
            test()
            dataJpa()
            validation()
            ...
        }

        lombok()
        apacheCommonsLang()
        mapstruct()
        springFox()
        postgres()
        flywayCore()
        testContainers()
        postgresTestContainers()
        ...
    }
}

Prerequisites

  • JDK 17
  • Docker

How to build

git submodule init
git submodule update
gradlew clean build

About

Java project build externalization by put its config into separate repository

License:MIT License


Languages

Language:Java 100.0%