plugins {
	id 'java'
	id 'war'
	id 'org.springframework.boot' version '3.2.1'
	id 'io.spring.dependency-management' version '1.1.4'
	id 'eclipse-wtp'
}

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

java {
	sourceCompatibility = '21'
}

war {
    archiveBaseName = 'madeu_crm'
    archiveVersion = ''
    archiveClassifier = ''
}

eclipse {
    wtp {
        facet {
            facet name: 'jst.web', version: '5.0'
            facet name: 'jst.java', version: '21' // 또는 프로젝트에 맞는 자바 버전
        }
    }
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
	all {
		// 로그 관련 (logging 모듈에 대한 의존성을 제거)
		exclude group: "org.springframework.boot", module : "spring-boot-starter-logging"
//		exclude group: 'ch.qos.logback', module: 'logback-classic'
//	    exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j'
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	implementation 'org.springframework.boot:spring-boot-starter-webflux'
	testImplementation 'io.projectreactor:reactor-test'
	
	// tomcat
	//providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
	//implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
	
	// thymeleaf
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.3.0'

	// lombok
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'

	//mybatis
	implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
//	implementation 'com.microsoft.sqlserver:mssql-jdbc:11.2.3.jre17'
//	runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc'
	//runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
	implementation 'org.mariadb.jdbc:mariadb-java-client:3.3.2'

	// AES
	implementation 'com.adobe.xmp:xmpcore:6.1.11'

	// 로그
	implementation 'org.springframework.boot:spring-boot-starter-log4j2'
	
	// HttpUtil
	implementation 'com.google.code.gson:gson:2.10.1'

	// api 통신
	implementation 'org.apache.httpcomponents.client5:httpclient5:5.3'
	
	//JSON
	implementation 'org.json:json:20231013'
	implementation 'com.googlecode.json-simple:json-simple:1.1.1'
	implementation 'org.apache.commons:commons-lang3:3.14.0'

	// push 관련
	implementation 'com.google.api-client:google-api-client:2.7.0'

	// POI
	implementation 'org.apache.poi:poi:5.2.5'
	implementation 'org.apache.poi:poi-ooxml:5.2.5'

	// popbill
	implementation 'kr.co.linkhub:popbill-spring-boot-starter:1.14.3'
	
	implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
}

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