plugins { id "java" id "maven-publish" id "net.minecrell.licenser" version "0.4.1" id "com.github.johnrengelman.shadow" version "6.0.0" } group "me.clip" version "2.10.7" description "An awesome placeholder provider!" repositories { mavenCentral() maven({ url = "https://rayzr.dev/repo/" }) maven({ url = "https://repo.codemc.org/repository/maven-public" }) maven({ url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" }) } dependencies { implementation "com.google.code.gson:gson:2.8.6" implementation "org.bstats:bstats-bukkit:1.5" implementation "me.rayzr522:jsonmessage:1.2.1" compileOnly "org.spigotmc:spigot-api:1.16.1-R0.1-SNAPSHOT" compileOnly "org.jetbrains:annotations:19.0.0" testImplementation "org.openjdk.jmh:jmh-core:1.23" testImplementation "org.openjdk.jmh:jmh-generator-annprocess:1.23" testCompile "org.junit.jupiter:junit-jupiter-engine:5.6.2" testRuntime "org.junit.jupiter:junit-jupiter-engine:5.6.2" } import org.apache.tools.ant.filters.ReplaceTokens processResources { from(sourceSets.main.resources.srcDirs) { filter ReplaceTokens, tokens: [ name: rootProject.name, version: project.version.toString(), description: project.description ] } } tasks.withType(JavaCompile) { options.encoding = "UTF-8" sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } shadowJar { archiveClassifier.set("") relocate "org.bstats", "me.clip.placeholderapi.metrics" relocate "com.google.gson", "me.clip.placeholderapi.libs.gson" relocate "me.rayzr522.jsonmessage", "me.clip.placeholderapi.libs.jsonmessage" } license { header = file("headers/header.txt") ext { year = 2020 } include "**/*.java" } test { useJUnitPlatform() } sourceSets { test.compileClasspath += configurations.compileOnly test.runtimeClasspath += configurations.compileOnly } publishing { repositories { maven { if (version.contains("-DEV-")) { url = uri("https://repo.extendedclip.com/content/repositories/dev/") } else { url = uri("https://repo.extendedclip.com/content/repositories/placeholderapi/") } credentials { username = System.getenv("JENKINS_USER") password = System.getenv("JENKINS_PASS") } } } publications { maven(MavenPublication) { from(components.java) } } } publish.dependsOn clean, test, jar