da-admin-service-dev / build.gradle.kts
Ajay Yadav
Initial deployment of da-admin-service-dev
d6afd6c
plugins {
java
id("org.springframework.boot") version "3.2.5"
id("io.spring.dependency-management") version "1.1.4"
}
group = "com.dalab"
version = "0.0.1-SNAPSHOT"
java {
sourceCompatibility = JavaVersion.VERSION_21
}
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
repositories {
mavenCentral()
}
dependencies {
// da-protos common entities and utilities
implementation(project(":da-protos"))
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.springframework.boot:spring-boot-starter-validation")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.kafka:spring-kafka")
implementation("org.springframework.cloud:spring-cloud-starter-openfeign:4.1.1") // For Feign clients
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0") // OpenAPI
// MapStruct for DTO mapping
implementation("org.mapstruct:mapstruct:1.5.5.Final")
annotationProcessor("org.mapstruct:mapstruct-processor:1.5.5.Final")
// Lombok for reduced boilerplate
compileOnly("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok")
annotationProcessor("org.projectlombok:lombok-mapstruct-binding:0.2.0") // If using Lombok with MapStruct
// Hypersistence Utils for JSONB and other advanced types
implementation("io.hypersistence:hypersistence-utils-hibernate-62:3.7.0") // For Hibernate 6.2.x used by Spring Boot 3.x
runtimeOnly("org.postgresql:postgresql")
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("org.springframework.kafka:spring-kafka-test")
testImplementation("org.springframework.security:spring-security-test")
// Keycloak Admin Client (if direct Keycloak interaction is needed for users/roles)
implementation("org.keycloak:keycloak-admin-client:24.0.4")
}
dependencyManagement {
imports {
mavenBom("org.springframework.cloud:spring-cloud-dependencies:2023.0.1")
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
tasks.named<org.springframework.boot.gradle.tasks.bundling.BootJar>("bootJar") {
archiveFileName.set("${project.name}.jar")
}