plugins { id 'java-library' id 'org.springframework.boot' version '3.4.0' id 'io.spring.dependency-management' version '1.1.6' } group = 'vega.hrm.core' version = '0.0.1' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } withJavadocJar() withSourcesJar() sourceCompatibility = '21' targetCompatibility = '21' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web:3.4.0' implementation 'org.springframework.boot:spring-boot-starter-data-jpa:3.4.0' // bao gồm h2 và hikari implementation 'org.projectlombok:lombok:1.18.38' implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.12.6' implementation('org.springframework.boot:spring-boot-starter') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' } implementation("org.springframework.data:spring-data-redis:3.5.5") implementation 'io.lettuce:lettuce-core' implementation 'org.postgresql:postgresql:42.7.3' implementation 'org.springframework.boot:spring-boot-starter-log4j2:3.4.0' implementation 'org.modelmapper:modelmapper:3.2.1' implementation 'org.springframework.boot:spring-boot-starter-validation:3.4.0' annotationProcessor 'org.projectlombok:lombok:1.18.38' implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.14' implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.14' implementation 'org.bouncycastle:bcprov-jdk18on:1.80' implementation 'org.bouncycastle:bcpkix-jdk18on:1.80' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.6' // Google API Services implementation "com.google.apis:google-api-services-youtube:v3-rev182-1.22.0" implementation("com.google.apis:google-api-services-youtubeAnalytics:v2-rev272-1.25.0") // Google API Client (phiên bản mới) implementation 'com.google.api-client:google-api-client:1.34.1' implementation 'com.google.oauth-client:google-oauth-client-jetty:1.34.1' implementation "com.google.http-client:google-http-client-jackson2:1.43.3" implementation 'com.google.guava:guava:32.1.3-jre' implementation 'com.google.code.gson:gson:2.11.0' // https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-orgjson runtimeOnly 'io.jsonwebtoken:jjwt-orgjson:0.12.6' } 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' } } }