plugins { `java-library` `maven-publish` id("io.github.goooler.shadow") version "8.1.8" } allprojects { group = "com.alttd.boosters" version = "1.0.0-BETA-SNAPSHOT" description = "Easily manage all boosters on the Altitude Minecraft Server Network." apply() apply(plugin = "maven-publish") java { toolchain { languageVersion.set(JavaLanguageVersion.of(21)) } } } subprojects { tasks { withType { options.encoding = Charsets.UTF_8.name() } withType { options.encoding = Charsets.UTF_8.name() } } publishing { publications { create("mavenJava") { from(components["java"]) } } configure { repositories { maven { name = "maven" url = uri("https://repo.destro.xyz/snapshots/") credentials(PasswordCredentials::class) } mavenCentral() } } } } dependencies { implementation(project(":boosters-api")) implementation(project(":plugin")) implementation(project(":velocity")) } tasks { shadowJar { archiveFileName.set("${project.name}-${project.version}.jar") minimize() { exclude { it.moduleName == "boosters-api" } exclude { it.moduleName == "plugin" } exclude { it.moduleName == "velocity" } } listOf( // "net.kyori.adventure.text.minimessage", "org.spongepowered.configurate" ).forEach { relocate(it, "${rootProject.name}.lib.$it") } } build { dependsOn(shadowJar) } }