plugins { id 'java' id 'org.springframework.boot' version '3.4.0' id 'io.spring.dependency-management' version '1.1.6' } group = 'com.vega.hrm.chat' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa:3.4.0' implementation 'org.springframework.boot:spring-boot-starter-web:3.4.0' implementation 'org.projectlombok:lombok:1.18.38' implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.7.0' implementation('org.springframework.boot:spring-boot-starter:3.4.0') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' } implementation 'org.springframework.boot:spring-boot-starter-log4j2:3.4.0' implementation 'org.springframework.boot:spring-boot-starter-validation:3.4.0' // Kafka implementation 'org.springframework.kafka:spring-kafka' // Redis implementation 'org.springframework.boot:spring-boot-starter-data-redis' annotationProcessor 'org.projectlombok:lombok:1.18.38' implementation project(":vega-hrm-core") implementation 'jakarta.annotation:jakarta.annotation-api:2.1.1' implementation(platform("org.springframework.boot:spring-boot-dependencies:3.4.0")) } configurations { all { // Loại bỏ Logback exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' // Loại bỏ logging mặc định exclude group: 'ch.qos.logback', module: 'logback-classic' // Loại bỏ các thư viện Guava/Google Collections cũ exclude group: 'com.google.guava', module: 'guava-jdk5' exclude group: 'com.google.collections', module: 'google-collections' resolutionStrategy { // Bắt buộc dùng Guava mới nhất force 'com.google.guava:guava:32.1.3-jre' force 'com.google.api-client:google-api-client:1.34.1' force 'com.google.oauth-client:google-oauth-client-jetty:1.34.1' force 'com.google.http-client:google-http-client-jackson2:1.43.3' } } }