repositories { maven { url = "https://jitpack.io" } maven { url = "https://mvn.intellectualsites.com/content/repositories/snapshots" } maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" } } def textVersion = "3.0.2" dependencies { implementation("org.yaml:snakeyaml:1.25") implementation("com.google.code.gson:gson:2.8.6") { because("Minecraft uses GSON 2.8.0") force = true } implementation("org.jetbrains.kotlin:kotlin-stdlib:1.3.72") implementation("org.khelekore:prtree:1.7.0-SNAPSHOT") // Adventure related stuff implementation('net.kyori:adventure-api:4.0.0-SNAPSHOT') implementation('net.kyori:adventure-text-minimessage:3.0.0-SNAPSHOT') compile("com.google.inject:guice:4.2.3") compile("com.google.inject.extensions:guice-assistedinject:4.2.3") compile group: 'com.google.code.findbugs', name: 'annotations', version: '3.0.1' compile group: 'javax.inject', name: 'javax.inject', version: '1' compile group: 'aopalliance', name: 'aopalliance', version: '1.0' // logging implementation("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1") } sourceCompatibility = 1.8 targetCompatibility = 1.8 processResources { from("src/main/resources") { include "plugin.properties" expand( version: "${project.parent.version}", name: project.parent.name, commit: "${git.head().abbreviatedId}", date: "${git.head().getDate().format("yy.MM.dd")}", ) } } //noinspection GroovyAssignabilityCheck jar.archiveFileName = "PlotSquared-${project.parent.version}.jar" jar.destinationDirectory = file("../mvn/com/plotsquared/PlotSquared/" + project.parent.version) task createPom { doLast { pom { project { groupId = rootProject.group artifactId = "PlotSquared" version = project.parent.version } }.writeTo("../mvn/com/plotsquared/PlotSquared/${project.parent.version}/PlotSquared-${project.parent.version}.pom") pom { project { groupId = rootProject.group artifactId = "PlotSquared" version = "latest" } }.writeTo("../mvn/com/plotsquared/PlotSquared/latest/PlotSquared-latest.pom") .writeTo("pom.xml") } } task copyFiles { doLast { copy { from("../mvn/com/plotsquared/PlotSquared/${project.parent.version}/") into("../mvn/com/plotsquared/PlotSquared/latest/") include("*.jar") rename("PlotSquared-${project.parent.version}.jar", "PlotSquared-latest.jar") } } } shadowJar { dependencies { include(dependency('net.kyori:adventure-api:4.0.0-SNAPSHOT')) include(dependency('net.kyori:adventure-gson:4.0.0-SNAPSHOT')) include(dependency('net.kyori:adventure-legacy:4.0.0-SNAPSHOT')) include(dependency('net.kyori:adventure-plain:4.0.0-SNAPSHOT')) include(dependency('net.kyori:adventure-text-minimessage:3.0.0-SNAPSHOT')) include(dependency('org.khelekore:prtree:1.7.0-SNAPSHOT')) } relocate('net.kyori.text', 'com.plotsquared.formatting.text') relocate("org.json", "com.plotsquared.json") { exclude "org/json/simple/**" } } shadowJar.doLast { task -> ant.checksum file: task.archivePath } build.dependsOn(shadowJar) build.finalizedBy(copyFiles) copyFiles.dependsOn(createPom)