33 lines
1.6 KiB
Groovy
33 lines
1.6 KiB
Groovy
// Driving adapter: gRPC API (skeleton machinery, transport-only).
|
|
//
|
|
// A SmartLifecycle bean (GrpcServerRunner) owns the io.grpc Netty server, so this module depends on
|
|
// NO third-party grpc-spring-boot starter (no Spring Boot version coupling). The skeleton compiles
|
|
// NO protobuf: there is no `com.google.protobuf` plugin and no `.proto` here — health + reflection
|
|
// come from grpc-services at runtime, and feature `.proto`/services live in the sample module.
|
|
//
|
|
// io.grpc:* / protobuf versions are NOT managed by the Spring Boot BOM, and this repo has no version
|
|
// catalog, so the grpc-bom + protobuf-bom platforms are imported HERE (module scope) using the root
|
|
// `ext.grpcVersion` / `ext.protobufVersion` SSOT — this keeps the strict-locking blast radius to
|
|
// this module (the shared root dependencyManagement block stays io.grpc-free).
|
|
dependencyManagement {
|
|
imports {
|
|
mavenBom "io.grpc:grpc-bom:${grpcVersion}"
|
|
mavenBom "com.google.protobuf:protobuf-bom:${protobufVersion}"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':shared-contract')
|
|
|
|
implementation 'org.springframework.boot:spring-boot-starter'
|
|
|
|
implementation 'io.grpc:grpc-netty-shaded'
|
|
implementation 'io.grpc:grpc-services' // health + reflection (grpc.health.v1 / reflection)
|
|
|
|
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
|
|
|
|
// The boot test directly builds generated health/reflection protobuf messages. grpc-services
|
|
// does not expose protobuf-java on its compile API, so keep the narrower test-only declaration.
|
|
testImplementation 'io.grpc:grpc-protobuf'
|
|
}
|