plugins { id 'java' id 'application' id 'checkstyle' alias(libs.plugins.spotbugs) id 'com.diffplug.spotless' version '6.25.0' } group = 'creator.loki' version = '1.0.0' dependencies { implementation(libs.jda) { exclude module: 'opus-java' } implementation libs.lavaplayer implementation libs.lavalink.client 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) } } } 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 }