chore: initial commit - kernel core, security, embeds, tests

This commit is contained in:
loki5512344 2026-08-03 11:03:34 +02:00
commit c3b0c2f976
Signed by: boba
GPG key ID: 253067914055423B
79 changed files with 2907 additions and 0 deletions

78
build.gradle Normal file
View file

@ -0,0 +1,78 @@
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
}