plugins { id 'java' id 'com.github.johnrengelman.shadow' version '6.1.0' id "io.freefair.lombok" version "6.0.0-m2" id "maven-publish" id 'info.solidsoft.pitest' version '1.7.0' } pitest { junit5PluginVersion = '0.15' excludedClasses = ["sh.okx.rankup.Metrics*"] timestampedReports = false threads = 2 } group 'sh.okx' version '3.14.2' java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } repositories { mavenCentral() maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' } maven { url 'https://repo.extendedclip.com/content/repositories/placeholderapi/' } maven { url 'https://nexus.bencodez.com/repository/maven-public/' } maven { url 'https://jitpack.io' } } dependencies { testImplementation 'org.junit.platform:junit-platform-launcher:1.8.2' testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2' testImplementation 'com.github.MockBukkit:MockBukkit:04889261630cd6f5aaebd86a576bbcd12c442ea7' implementation group: 'org.slf4j', name: 'slf4j-nop', version: '1.7.30' implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30' compileOnly 'org.jetbrains:annotations:22.0.0' compileOnly 'org.spigotmc:spigot-api:1.20.1-R0.1-SNAPSHOT' compileOnly('com.github.Realizedd:TokenManager:3.2.4') { transitive = false } compileOnly('com.github.MilkBowl:VaultAPI:1.7') { exclude group: 'org.bukkit' } compileOnly ('me.clip:placeholderapi:2.10.9') { exclude group: 'org.bstats' } compileOnly 'com.github.pyvesb:advanced-achievements:8.0.2' compileOnly 'com.github.astei:Superbvote:700fca43659b438cb9bb36c218a7646d2f2ef315' compileOnly('com.github.mcMMO-Dev:mcMMO:601297') { exclude group: 'com.sk89q.worldguard' } compileOnly ('com.bencodez:votingplugin:6.13.1') { transitive = false } compileOnly 'net.luckperms:api:5.4' compileOnly 'com.github.LlmDl:Towny:25fc18a' testImplementation 'com.github.LlmDl:Towny:25fc18a' implementation ('io.pebbletemplates:pebble:3.1.5') { exclude group: 'org.slf4j' } implementation 'com.electronwill.night-config:toml:3.6.4' } artifacts { archives shadowJar } shadowJar { archiveClassifier.set('') minimize() relocate 'org.slf4j', 'sh.okx.rankup.export.org.slf4j' } // automatically copy the version to plugin.yml processResources { // do this again whenever version changes inputs.property 'version', project.version duplicatesStrategy = 'include' // copy plugin.yml and replace version from(sourceSets.main.resources.srcDirs) { include 'plugin.yml' expand 'version': project.version } // copy everything else from(sourceSets.main.resources.srcDirs) { exclude 'plugin.yml' } } task spigot(type: com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) { from sourceSets.main.runtimeClasspath destinationDirectory = file("./spigot/plugins/") archiveFileName = "Rankup.jar" } test { useJUnitPlatform() testLogging { events "passed", "skipped", "failed" } } publishing { publications { maven(MavenPublication) { from components.java } } }