refactor(projectStructure):Adjust dependencies and module configuration - Remove duplicate Spring Boot BOM configurations from each module

- Delete API dependencies in modules such as forgeboot-core, forgeboot-i18n
- Add submodule dependencies in the root project
- Optimize settings.gradle.kts, add forgeboot-webflux module
This commit is contained in:
gewuyou 2025-05-02 14:13:27 +08:00
parent 47691cd605
commit 15709c6516
7 changed files with 18 additions and 22 deletions

View File

@ -35,8 +35,6 @@ allprojects {
// 设置全局属性 // 设置全局属性
ext { ext {
set(ProjectFlags.IS_ROOT_MODULE, false) set(ProjectFlags.IS_ROOT_MODULE, false)
set(ProjectFlags.USE_SPRING_BOOT_BOM, false)
set(ProjectFlags.USE_CONFIGURATION_PROCESSOR, false)
} }
afterEvaluate { afterEvaluate {
if (project.getPropertyByBoolean(ProjectFlags.IS_ROOT_MODULE)) { if (project.getPropertyByBoolean(ProjectFlags.IS_ROOT_MODULE)) {
@ -53,13 +51,20 @@ allprojects {
subprojects { subprojects {
version = rootProject.version version = rootProject.version
afterEvaluate { afterEvaluate {
if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_BOOT_BOM)) { val isRootModule = project.getPropertyByBoolean(ProjectFlags.IS_ROOT_MODULE)
val isStarterModule = project.name.contains("starter")
if (isRootModule) {
dependencies {
project.subprojects.forEach {
if (!it.getPropertyByBoolean(ProjectFlags.IS_ROOT_MODULE)) {
project.dependencies.add("api", project(it.path))
}
}
}
}
if (isStarterModule&&!isRootModule) {
dependencies { dependencies {
implementation(platform(libs.springBootDependencies.bom)) implementation(platform(libs.springBootDependencies.bom))
}
}
if(project.getPropertyByBoolean(ProjectFlags.USE_CONFIGURATION_PROCESSOR)){
dependencies {
annotationProcessor(libs.springBoot.configuration.processor) annotationProcessor(libs.springBoot.configuration.processor)
} }
} }

View File

@ -1,3 +1,3 @@
dependencies { dependencies {
api(project(Modules.Core.EXTENSION))
} }

View File

@ -1,8 +1,3 @@
extra {
// 需要SpringBootBom
setProperty(ProjectFlags.USE_SPRING_BOOT_BOM, true)
setProperty(ProjectFlags.USE_CONFIGURATION_PROCESSOR, true)
}
dependencies { dependencies {
implementation(project(Modules.Core.EXTENSION)) implementation(project(Modules.Core.EXTENSION))

View File

@ -4,6 +4,5 @@ extra {
} }
dependencies { dependencies {
api(project(Modules.Webmvc.VERSION_STARTER))
api(project(Modules.Webmvc.LOGGER_STARTER))
} }

View File

@ -1,7 +1,3 @@
extra {
// 需要SpringBootBom
setProperty(ProjectFlags.USE_SPRING_BOOT_BOM, true)
}
dependencies { dependencies {
implementation(project(Modules.Core.EXTENSION)) implementation(project(Modules.Core.EXTENSION))
implementation(libs.springBootStarter.aop) implementation(libs.springBootStarter.aop)

View File

@ -1,7 +1,3 @@
extra {
// 需要SpringBootBom
setProperty(ProjectFlags.USE_SPRING_BOOT_BOM, true)
}
dependencies { dependencies {
implementation(project(Modules.Core.EXTENSION)) implementation(project(Modules.Core.EXTENSION))

View File

@ -49,3 +49,8 @@ include(
) )
project(":forgeboot-i18n").name = "forgeboot-i18n-spring-boot-starter" project(":forgeboot-i18n").name = "forgeboot-i18n-spring-boot-starter"
//endregion //endregion
include(
"forgeboot-webflux",
)
project(":forgeboot-webflux").name = "forgeboot-webflux-spring-boot-starter"