plugins { `java` `maven-publish` id("com.github.johnrengelman.shadow") version "8.1.1" } allprojects { group = "com.alttd.proxydiscordlink" description = "A velocity plugin to link Discord and Minecraft accounts." apply(plugin = "java") apply(plugin = "maven-publish") java { toolchain { languageVersion.set(JavaLanguageVersion.of(21)) } } tasks { withType { options.encoding = Charsets.UTF_8.name() options.release.set(21) } withType { options.encoding = Charsets.UTF_8.name() } } } dependencies { // Minimessage // implementation("net.kyori:adventure-text-minimessage:4.1.0-SNAPSHOT") // Velocity compileOnly("com.velocitypowered:velocity-api:3.1.2-SNAPSHOT") // Velocity annotationProcessor("com.velocitypowered:velocity-api:3.1.2-SNAPSHOT") // JDA implementation("net.dv8tion:JDA:5.0.0-beta.2") { shadow("net.dv8tion:JDA:5.0.0-beta.2") { exclude("opus-java") // exclude audio } compileOnly("com.gitlab.ruany:LitebansAPI:0.3.5") // LuckPerms compileOnly("net.luckperms:api:5.3") // MySQL runtimeOnly("mysql:mysql-connector-java:8.0.23") // ShutdownInfo compileOnly("com.alttd:ShutdownInfo:1.0") } implementation("org.aarboard.nextcloud:nextcloud-api:13.1.0") //NextCloud testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0") tasks { shadowJar { archiveFileName.set("discordLink.jar") listOf( "net.dv8tion.jda" ).forEach { relocate(it, "${rootProject.group}.lib.$it") } } build { dependsOn(shadowJar) } } } publishing { publications { create("mavenJava") { from(components["java"]) } } repositories{ maven { name = "maven" url = uri("https://repo.destro.xyz/snapshots") credentials(PasswordCredentials::class) } } }