feat(build): Refactor infrastructure modules and establish single source of truth
This commit introduces a major refactoring of the build system and the core infrastructure modules. The primary goal is to establish a strict "Single Source of Truth" for all dependencies using Gradle Version Catalogs and to create a clean, maintainable, and scalable foundation for all current and future services. ### 1. Centralized Dependency Management (`libs.versions.toml`) - **Established Single Source of Truth:** All dependency versions are now exclusively managed in `gradle/libs.versions.toml`. Hardcoded versions have been removed from all build scripts. - **Introduced Gradle Bundles:** To simplify module dependencies, several bundles have been created (e.g., `testing-jvm`, `redis-cache`, `spring-cloud-gateway`, `monitoring-client`). This drastically reduces boilerplate in the `build.gradle.kts` files and improves readability. - **Cleaned up Aliases:** All library and plugin aliases have been standardized for consistency. ### 2. Infrastructure Module Refactoring All infrastructure modules (`core`, `platform`, `auth`, `cache`, `event-store`, `messaging`, `monitoring`, `gateway`) have been refactored to align with the new dependency management strategy. - **Simplified Build Scripts:** The `build.gradle.kts` for each module now uses the new bundles and aliases, making them significantly cleaner and easier to understand. - **Consistent Structure:** The architecture of each module now clearly follows the Port-Adapter pattern where applicable (e.g., `cache-api`/`redis-cache`). - **Standardized `platform-bom`:** The project's own Bill of Materials (`platform-bom`) now also includes the Spring Cloud BOM, ensuring version consistency for all Spring-related dependencies. ### 3. Added Infrastructure Documentation To improve onboarding and architectural understanding, a dedicated `README-*.md` file has been created for each refactored infrastructure module: - `README-CORE.md` - `README-PLATFORM.md` - `README-INFRA-AUTH.md` - `README-INFRA-CACHE.md` - `README-INFRA-EVENT-STORE.md` - `README-INFRA-MESSAGING.md` - `README-INFRA-MONITORING.md` - `README-INFRA-GATEWAY.md` These documents explain the purpose, architecture, and usage of each component within the system. This lays the groundwork for our "Tracer Bullet" development approach.
This commit is contained in:
+20
-35
@@ -17,25 +17,6 @@ pluginManagement {
|
||||
|
||||
dependencyResolutionManagement {
|
||||
|
||||
/*repositories {
|
||||
mavenCentral()
|
||||
google {
|
||||
mavenContent {
|
||||
includeGroupAndSubgroups("androidx")
|
||||
includeGroupAndSubgroups("com.android")
|
||||
includeGroupAndSubgroups("com.google")
|
||||
}
|
||||
}
|
||||
// Add JitPack repository
|
||||
maven {
|
||||
url = uri("https://jitpack.io")
|
||||
}
|
||||
// Add Sonatype snapshots repository
|
||||
maven {
|
||||
url = uri("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
}
|
||||
}*/
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
google()
|
||||
@@ -44,15 +25,30 @@ dependencyResolutionManagement {
|
||||
}
|
||||
}
|
||||
|
||||
// Core modules
|
||||
include(":core:core-domain")
|
||||
include(":core:core-utils")
|
||||
|
||||
// Platform modules
|
||||
include(":platform:platform-bom")
|
||||
include(":platform:platform-dependencies")
|
||||
include(":platform:platform-testing")
|
||||
|
||||
// Core modules
|
||||
include(":core:core-domain")
|
||||
include(":core:core-utils")
|
||||
// Infrastructure modules
|
||||
include(":infrastructure:gateway")
|
||||
include(":infrastructure:auth:auth-client")
|
||||
include(":infrastructure:auth:auth-server")
|
||||
include(":infrastructure:messaging:messaging-client")
|
||||
include(":infrastructure:messaging:messaging-config")
|
||||
include(":infrastructure:cache:cache-api")
|
||||
include(":infrastructure:cache:redis-cache")
|
||||
include(":infrastructure:event-store:event-store-api")
|
||||
include(":infrastructure:event-store:redis-event-store")
|
||||
include(":infrastructure:monitoring:monitoring-client")
|
||||
include(":infrastructure:monitoring:monitoring-server")
|
||||
|
||||
/*
|
||||
// Temporär deaktivierte Fach-Module
|
||||
// Members modules
|
||||
include(":members:members-domain")
|
||||
include(":members:members-application")
|
||||
@@ -81,22 +77,11 @@ include(":masterdata:masterdata-infrastructure")
|
||||
include(":masterdata:masterdata-api")
|
||||
include(":masterdata:masterdata-service")
|
||||
|
||||
// Infrastructure modules
|
||||
include(":infrastructure:gateway")
|
||||
include(":infrastructure:auth:auth-client")
|
||||
include(":infrastructure:auth:auth-server")
|
||||
include(":infrastructure:messaging:messaging-client")
|
||||
include(":infrastructure:messaging:messaging-config")
|
||||
include(":infrastructure:cache:cache-api")
|
||||
include(":infrastructure:cache:redis-cache")
|
||||
include(":infrastructure:event-store:event-store-api")
|
||||
include(":infrastructure:event-store:redis-event-store")
|
||||
include(":infrastructure:monitoring:monitoring-client")
|
||||
include(":infrastructure:monitoring:monitoring-server")
|
||||
|
||||
// Client modules
|
||||
include(":client:common-ui")
|
||||
include(":client:web-app")
|
||||
include(":client:desktop-app")
|
||||
|
||||
// Legacy modules have been removed after successful migration
|
||||
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user