import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation plugins { id("java") id("com.github.johnrengelman.shadow") version "7.1.0" id("maven-publish") } group = "com.alttd" version = "1.0.0-SNAPSHOT" description = "Altitude Discord Bot." java { toolchain { languageVersion.set(JavaLanguageVersion.of(17)) } } publishing { publications { create("mavenJava") { from(components["java"]) } } } tasks { withType { options.encoding = Charsets.UTF_8.name() } withType { options.encoding = Charsets.UTF_8.name() } withType { manifest { attributes["Main-Class"] = "${rootProject.group}.${project.name}" } } create("relocateJars") { target = shadowJar.get() prefix = "${project.name}.lib" } shadowJar { dependsOn(getByName("relocateJars") as ConfigureShadowRelocation) archiveFileName.set("${project.name}-${project.version}.jar") minimize() configurations = listOf(project.configurations.shadow.get()) } build { dependsOn(shadowJar) } } dependencies { // JDA implementation("net.dv8tion:JDA:5.0.0-alpha.9") { shadow("net.dv8tion:JDA:5.0.0-alpha.9") { exclude("opus-java") // exclude audio } // MySQL runtimeOnly("mysql:mysql-connector-java:8.0.23") } tasks { shadowJar { listOf( "net.dv8tion.jda" ).forEach { relocate(it, "${rootProject.group}.lib.$it") } } build { dependsOn(shadowJar) } } // Configurate shadow("org.spongepowered:configurate-yaml:4.1.2") }