Skip to main content

A master multi-subproject configuration

Henry...Less than 1 minute

A master multi-subproject configuration

A primary multi-subproject configuration, seeproject templateopen in new window

Configure wrapper

distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip

Configure setting.gradle

rest,service,clientfor subproject directories, more configuration seeihub-settingsplugin:

plugins {
    id 'pub.ihub.plugin.ihub-settings' version '1.4.1'
}

iHubSettings {
    includeProjects 'rest', 'service', 'client'
}

Configure build.gradle

Subprojects introduce Java plugins (ihub-java), test plugin (ihub-test) and validation plugin (ihub-certification), configihub-git-hooksplugin hook command:

plugins {
    id 'pub.ihub.plugin'
    id 'pub.ihub.plugin.ihub-git-hooks'
    id 'pub.ihub.plugin.ihub-java' apply false
    id 'pub.ihub.plugin.ihub-test' apply false
    id 'pub.ihub.plugin.ihub-verification' apply false
    id 'pub.ihub.plugin.ihub-publish' apply false
    id 'pub.ihub.plugin.ihub-boot' apply false
}

subprojects {
    apply {
        plugin 'pub.ihub.plugin.ihub-java'
        plugin 'pub.ihub.plugin.ihub-test'
        plugin 'pub.ihub.plugin.ihub-verification'
    }

    dependencies {
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
    }
}

iHubGitHooks {
    hooks = [
        'pre-commit': './gradlew build',
        'commit-msg': './gradlew commitCheck'
    ]
}

Configure gradle.properties

Configure project names and groups, wherenameisihub-settingspluginextension properties,groupnative project properties

name=demo
group=pub.ihub.demo