plugins { id 'java' id 'org.springframework.boot' version '3.2.2' id 'io.spring.dependency-management' version '1.1.4' } group = 'in.garvit.tasks' version = '1.0.0' description = 'Eureka Server Configuration for Task Management Microservices' java { sourceCompatibility = '17' targetCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } ext { set('springCloudVersion', "2023.0.0") } dependencies { // Core Spring Boot and Eureka dependencies implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server' // Monitoring and Observability implementation 'io.micrometer:micrometer-tracing-bridge-brave' implementation 'io.zipkin.reporter2:zipkin-reporter-brave' implementation 'io.micrometer:micrometer-registry-prometheus' // Logging implementation 'net.logstash.logback:logstash-logback-encoder:7.4' // Development tools developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' // Testing testImplementation 'org.springframework.boot:spring-boot-starter-test' } dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" } } tasks.named('test') { useJUnitPlatform() testLogging { events "passed", "skipped", "failed" } } // JAR configuration jar { enabled = false archiveClassifier = '' } bootJar { enabled = true archiveClassifier = '' archiveFileName = 'eureka-server.jar' }