plugins {
	id 'java'
	id 'org.springframework.boot' version '3.2.5'
	id 'io.spring.dependency-management' version '1.1.4'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'org.springframework.boot:spring-boot-starter-security'
	implementation 'org.springframework.boot:spring-boot-starter-aop'
	implementation 'org.redisson:redisson-spring-boot-starter:3.24.3'
	implementation 'org.springframework.boot:spring-boot-starter-actuator'
	implementation 'io.micrometer:micrometer-registry-prometheus'
	implementation 'org.springframework.boot:spring-boot-starter-data-redis'
	implementation 'net.nurigo:sdk:4.3.0'
	implementation 'org.springframework.boot:spring-boot-starter-mail'
	testImplementation 'org.springframework.security:spring-security-test'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testImplementation 'org.testcontainers:testcontainers'
	testImplementation 'org.testcontainers:junit-jupiter'
	testImplementation 'org.testcontainers:mysql'
	testImplementation 'org.testcontainers:jdbc'
	//lombok
	annotationProcessor 'org.projectlombok:lombok'
	compileOnly 'org.projectlombok:lombok'
	//mapstruct
	implementation 'org.mapstruct:mapstruct:1.5.3.Final'
	annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final'
	//h2
	runtimeOnly 'com.h2database:h2'
	//mysql
	runtimeOnly("com.mysql:mysql-connector-j")

	testRuntimeOnly 'org.junit.platform:junit-platform-launcher'

	implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
	runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
	runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'
}

tasks.named('test') {
	useJUnitPlatform()
}
