apply plugin: 'application' apply plugin: 'com.gradleup.shadow' dependencies { implementation project(':protocol') implementation project(':ts3j') implementation 'net.dv8tion:JDA:6.7.0' // DAVE (Ende-zu-Ende-Verschlüsselung für Discord-Voice), braucht Java 25 implementation 'club.minnced:jdave-api:0.1.8' implementation 'club.minnced:jdave-native-linux-x86-64:0.1.8' // Opus in reinem Java fürs Mischen implementation 'io.github.jaredmdobson:concentus:1.0.2' // ServerQuery über SSH implementation 'com.github.mwiede:jsch:2.28.7' implementation 'org.yaml:snakeyaml:2.7' implementation 'org.slf4j:slf4j-simple:2.0.17' testImplementation platform('org.junit:junit-bom:5.13.4') testImplementation 'org.junit.jupiter:junit-jupiter' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } application { mainClass = 'eu.mhsl.voicebridge.bridge.Main' applicationDefaultJvmArgs = ['--enable-native-access=ALL-UNNAMED'] } tasks.named('test') { useJUnitPlatform() } shadowJar { archiveFileName = 'voice-bridge.jar' mergeServiceFiles() // Signaturen von BouncyCastle passen nach dem Zusammenfügen nicht mehr exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA' manifest { attributes 'Enable-Native-Access': 'ALL-UNNAMED' } } tasks.named('run') { workingDir = rootProject.file('run/bridge') doFirst { workingDir.mkdirs() } }