init: 클린 아키텍처 백엔드
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
// Driven adapter: object storage behind application-core's ObjectStoragePort. Two backends — local
|
||||
// filesystem (default, no external service) and S3/MinIO via the AWS SDK v2 S3 client (endpoint
|
||||
// override makes the same code work against real AWS S3 and MinIO). Opt-in via
|
||||
// @ConditionalOnProperty (ca-skeleton.objectstorage.backend); filesystem is the matchIfMissing
|
||||
// default.
|
||||
//
|
||||
// software.amazon.awssdk:* versions are NOT managed by the Spring Boot BOM, and this repo has no
|
||||
// version catalog, so the AWS SDK v2 BOM platform is imported HERE (module scope) using the root
|
||||
// `ext.awsSdkVersion` SSOT — this keeps the strict-locking blast radius to this module (the shared
|
||||
// root dependencyManagement block stays awssdk-free), mirroring the grpc module's grpc-bom import.
|
||||
description = 'Outbound adapter: object storage (S3/MinIO + local filesystem)'
|
||||
|
||||
dependencyManagement {
|
||||
imports {
|
||||
mavenBom "software.amazon.awssdk:bom:${awsSdkVersion}"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':application-core')
|
||||
implementation project(':shared-contract')
|
||||
|
||||
implementation 'org.springframework.boot:spring-boot-starter'
|
||||
implementation 'software.amazon.awssdk:s3'
|
||||
|
||||
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
|
||||
|
||||
// test-only: Testcontainers MinIO integration test for the S3 backend. Uses the core
|
||||
// GenericContainer (no dedicated module) so the S3 round-trip runs against a real MinIO when
|
||||
// Docker is available and is skipped (disabledWithoutDocker) otherwise.
|
||||
testImplementation 'org.testcontainers:testcontainers'
|
||||
testImplementation 'org.testcontainers:testcontainers-junit-jupiter'
|
||||
}
|
||||
Reference in New Issue
Block a user