plugins {
	id 'jacoco'
}

description "${projectName}"

dependencies {

	api(project(":core"))

	api('org.mybatis:mybatis:3.5.11')
	api('org.mybatis:mybatis-spring:2.0.7')
	api("org.springframework.data:spring-data-commons:${springDataVersion}")
	api("org.springframework:spring-core:${springVersion}") {
		exclude group: 'commons-logging', module: 'commons-logging'
	}
	api("org.springframework:spring-context:${springVersion}")
	api("org.springframework:spring-beans:${springVersion}")
	api("org.springframework:spring-aop:${springVersion}")
	api("org.springframework:spring-orm:${springVersion}")
	api("org.springframework:spring-tx:${springVersion}")

	compileOnly("com.querydsl:querydsl-sql:5.0.0")
	compileOnly('com.github.jsqlparser:jsqlparser:4.5')

	compileOnly("org.projectlombok:lombok:${lombokVersion}")
	annotationProcessor("org.projectlombok:lombok:${lombokVersion}")

	testCompileOnly("org.projectlombok:lombok:${lombokVersion}")
	testAnnotationProcessor("org.projectlombok:lombok:${lombokVersion}")
	testImplementation("org.springframework:spring-test:${springVersion}")
	testImplementation('org.junit.jupiter:junit-jupiter:5.9.0')
	testImplementation('org.assertj:assertj-core:3.23.1')
	testImplementation('org.aspectj:aspectjweaver:1.9.9.1')
	testImplementation('ch.qos.logback:logback-classic:1.2.11')

	testImplementation('com.zaxxer:HikariCP:5.0.1')
	testImplementation('com.h2database:h2:2.1.214')
	testImplementation('org.hsqldb:hsqldb:2.5.2')
	testImplementation('mysql:mysql-connector-java:8.0.30')
	testImplementation('org.postgresql:postgresql:42.5.0')
	testImplementation('com.microsoft.sqlserver:mssql-jdbc:11.2.1.jre8')
	testImplementation('com.oracle.database.jdbc:ojdbc10:19.16.0.0')
	testImplementation('org.xerial:sqlite-jdbc:3.39.3.0')
	testImplementation('com.dameng:DmJdbcDriver18:8.1.2.141')
	testImplementation('com.ibm.informix:jdbc:4.50.8')
	testImplementation('org.apache.derby:derbyclient:10.16.1.1')
	testImplementation('com.dameng:DmJdbcDriver18:8.1.2.141')
	testImplementation('com.clickhouse:clickhouse-jdbc:0.3.2-patch11')
	testImplementation('com.highgo:HgdbJdbc:6.2.2')

	compileOnly("com.google.code.findbugs:annotations:3.0.1")
}


test {
	useJUnitPlatform()
	testLogging {
		events "passed", "skipped", "failed"
	}
	finalizedBy jacocoTestReport
}

jacocoTestReport {
	dependsOn test
	reports {
		xml.required = true
	}
}

repositories {
	mavenCentral()
}
