plugins { id 'java' id 'application' id 'checkstyle' alias(libs.plugins.spotbugs) } group = 'creator.loki' version = '1.0.0' repositories { mavenCentral() } dependencies { implementation(libs.jda) { exclude module: 'opus-java' } implementation libs.lavaplayer 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 testImplementation libs.junit.jupiter testImplementation libs.mockito.core testImplementation libs.mockito.junit.jupiter testRuntimeOnly libs.junit.platform.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 = 'creator.loki.bootstrap.App' } jar { manifest { attributes( 'Main-Class': 'creator.loki.bootstrap.App' ) } duplicatesStrategy = DuplicatesStrategy.EXCLUDE from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } } checkstyle { configFile = file("${rootDir}/config/checkstyle/checkstyle.xml") maxErrors = 999 maxWarnings = 999 } spotbugs { excludeFilter = file("${rootDir}/config/spotbugs/exclude.xml") ignoreFailures = true }