discord-bot-kernel/build.gradle

78 lines
1.7 KiB
Groovy

plugins {
id 'java'
id 'application'
id 'checkstyle'
alias(libs.plugins.spotbugs)
id 'com.diffplug.spotless' version '6.25.0'
}
group = 'kernel.loki'
version = '0.1.0'
dependencies {
implementation libs.jda
implementation libs.dotenv
implementation libs.slf4j.api
implementation libs.logback.classic
implementation libs.gson
implementation libs.caffeine
implementation libs.guice
implementation libs.sqlite.jdbc
implementation libs.hikaricp
implementation libs.okhttp
implementation libs.jsoup
testImplementation libs.junit.jupiter
testImplementation libs.mockito.core
testImplementation libs.mockito.junit.jupiter
testRuntimeOnly libs.junit.launcher
}
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs << '-Xlint:all'
}
test {
useJUnitPlatform()
}
application {
mainClass = 'kernel.loki.bootstrap.App'
}
jar {
manifest {
attributes(
'Main-Class': 'kernel.loki.bootstrap.App'
)
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
spotless {
java {
googleJavaFormat()
importOrder('java', 'javax', '')
removeUnusedImports()
trimTrailingWhitespace()
endWithNewline()
}
}
checkstyle {
configFile = file("${rootDir}/config/checkstyle/checkstyle.xml")
}
spotbugs {
excludeFilter = file("${rootDir}/config/spotbugs/exclude.xml")
ignoreFailures = false
}