import org.spongepowered.gradle.plugin.config.PluginLoaders import org.spongepowered.plugin.metadata.model.PluginDependency plugins { id 'org.spongepowered.gradle.plugin' version '2.0.0' } sponge { apiVersion("8.0.0-SNAPSHOT") license("MIT") loader { name(PluginLoaders.JAVA_PLAIN) version("1.0") } plugin("bluemap") { displayName("bluemap") entrypoint("de.bluecolored.bluemap.sponge8.SpongePlugin") description("A 3d-map of your Minecraft worlds view-able in your browser using three.js (WebGL)") contributor("Blue (TBlueF, Lukas Rieger)") { description("Lead Developer") } dependency("spongeapi") { loadOrder(PluginDependency.LoadOrder.AFTER) version("8.0.0-SNAPSHOT") optional(false) } } } dependencies { implementation group: 'org.bstats', name: 'bstats-sponge', version: '2.2.1' implementation (project(':BlueMapCommon')) { //exclude dependencies provided by sponge exclude group: 'com.google.guava', module: 'guava' exclude group: 'com.google.code.gson', module: 'gson' exclude group: 'org.apache.commons', module: 'commons-lang3' exclude group: 'javax.inject' exclude group: 'com.google.inject' } } build.dependsOn shadowJar { destinationDirectory = file '../../build/release' archiveFileName.set("BlueMap-${archiveVersion.get()}-sponge-8.0.0.jar") relocate 'net.querz.nbt', 'de.bluecolored.shadow.querz.nbt' relocate 'org.apache.commons.io', 'de.bluecolored.shadow.apache.commons.io' relocate 'com.mojang.brigadier', 'de.bluecolored.shadow.mojang.brigadier' relocate 'com.github.benmanes.caffeine', 'de.bluecolored.shadow.benmanes.caffeine' relocate 'com.google.errorprone', 'de.bluecolored.shadow.google.errorprone' relocate 'org.spongepowered.configurate', 'de.bluecolored.shadow.configurate' relocate 'org.aopalliance', 'de.bluecolored.shadow.aopalliance' relocate 'org.bstats', 'de.bluecolored.shadow.bstats' relocate 'com.typesafe.config', 'de.bluecolored.shadow.typesafe.config' relocate 'org.checkerframework', 'de.bluecolored.shadow.checkerframework' relocate 'org.codehaus', 'de.bluecolored.shadow.codehaus' relocate 'io.leangen.geantyref', 'de.bluecolored.shadow.geantyref' } processResources { from(sourceSets.main.resources.srcDirs) { include 'META-INF/plugins.json' duplicatesStrategy = DuplicatesStrategy.WARN expand ( version: project.version ) } }