plugins { id 'java-library' id 'com.github.johnrengelman.shadow' version '7.0.0' id 'maven-publish' id 'java' } dependencies { implementation project(":eco-api") implementation project(":eco-core:core-plugin") implementation project(":eco-core:core-proxy") implementation project(":eco-core:core-backend") implementation project(":eco-core:core-nms:v1_16_R3") implementation project(path: ":eco-core:core-nms:v1_17_R1", configuration: 'mapped') } allprojects { apply plugin: 'java' apply plugin: 'java-library' apply plugin: 'maven-publish' apply plugin: 'com.github.johnrengelman.shadow' repositories { mavenCentral() mavenLocal() maven { url 'https://jitpack.io' } // SuperiorSkyblock2 maven { url 'https://repo.bg-software.com/repository/api/' } // NMS (for jitpack compilation) maven { url 'https://repo.codemc.org/repository/nms/' } // bStats, mcMMO, BentoBox maven { url 'https://repo.codemc.org/repository/maven-public/' } // Spigot API, Bungee API maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' } // PlaceholderAPI maven { url 'https://repo.extendedclip.com/content/repositories/placeholderapi/' } // ProtocolLib maven { url 'https://repo.dmulloy2.net/nexus/repository/public/' } // WorldGuard maven { url 'https://maven.enginehub.org/repo/' } // FactionsUUID maven { url 'https://ci.ender.zone/plugin/repository/everything/' } // NoCheatPlus maven { url 'https://repo.md-5.net/content/repositories/snapshots/' } // CombatLogX maven { url 'https://nexus.sirblobman.xyz/repository/public/' } // IridiumSkyblock maven { url 'https://nexus.iridiumdevelopment.net/repository/maven-releases/' } } dependencies { // Adventure api 'net.kyori:adventure-platform-bukkit:4.0.0' api 'net.kyori:adventure-text-minimessage:4.1.0-SNAPSHOT' api 'net.kyori:adventure-api:4.9.3' api 'net.kyori:adventure-text-serializer-gson:4.9.3' api 'net.kyori:adventure-text-serializer-legacy:4.9.3' // Annotations api 'org.jetbrains:annotations:22.0.0' // Test testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' } tasks.withType(JavaCompile) { options.deprecation = true options.encoding = 'UTF-8' } configurations.all { exclude group: "org.codehaus.plexus", module: "plexus-utils" exclude group: "com.mojang", module: "brigadier" exclude group: "org.kitteh", module: "paste-gg-api" exclude group: "org.kitteh", module: "pastegg" exclude group: "org.spongepowered", module: "configurate-hocon" exclude group: "com.darkblade12", module: "particleeffect" exclude group: "com.github.cryptomorin", module: "XSeries" } shadowJar { relocate('org.bstats', 'com.willfp.eco.shaded.bstats') relocate('net.kyori.adventure.text.minimessage', 'com.willfp.eco.shaded.minimessage') } jar { onlyIf { !sourceSets.main.allSource.files.isEmpty() } } compileJava { onlyIf { !sourceSets.main.allSource.files.isEmpty() } } java { sourceCompatibility = JavaVersion.VERSION_16 targetCompatibility = JavaVersion.VERSION_16 withSourcesJar() } test { useJUnitPlatform() // Always run tests, even when nothing changed. dependsOn cleanTest // Show test results. testLogging { events "passed", "skipped", "failed" } } compileJava.options.encoding = 'UTF-8' compileJava.dependsOn clean build.dependsOn shadowJar } group = 'com.willfp' archivesBaseName = project.name version = findProperty("version")