plugins { id("java-library") id("eclipse") id("idea") id("net.ltgt.apt") version "0.21" apply false id "net.ltgt.apt-eclipse" version "0.21" id "net.ltgt.apt-idea" version "0.21" } repositories { maven {url "http://ci.athion.net/job/PlotSquared-Breaking/ws/mvn/"} } configurations.all { Configuration it -> it.resolutionStrategy { ResolutionStrategy rs -> rs.force("com.google.guava:guava:21.0") } it.resolutionStrategy { ResolutionStrategy rs -> rs.force("it.unimi.dsi:fastutil:8.2.1") } } dependencies { compile project(":worldedit-libs:core") compile "de.schlichtherle:truezip:6.8.3" compile "rhino:js:1.7R2" compile "org.yaml:snakeyaml:1.23" compile "com.google.guava:guava:21.0" compile "com.google.code.findbugs:jsr305:1.3.9" compile "com.thoughtworks.paranamer:paranamer:2.6" compile "com.google.code.gson:gson:2.8.0" compile "com.googlecode.json-simple:json-simple:1.1.1" compile "org.slf4j:slf4j-api:1.7.26" compile "it.unimi.dsi:fastutil:8.2.1" compileOnly project(":worldedit-libs:core:ap") annotationProcessor project(":worldedit-libs:core:ap") annotationProcessor "com.google.guava:guava:21.0" def avVersion = "1.6.5" compileOnly "com.google.auto.value:auto-value-annotations:$avVersion" annotationProcessor "com.google.auto.value:auto-value:$avVersion" //compile "net.sf.trove4j:trove4j:3.0.3" testCompile "org.mockito:mockito-core:1.9.0-rc1" // Fawe depends compileOnly "net.fabiozumbi12:redprotect:1.9.6" compileOnly ("com.github.intellectualsites.plotsquared:PlotSquared-API:latest") { transitive = false } compile "com.mojang:datafixerupper:1.0.20" compile "com.github.luben:zstd-jni:1.1.1" compile "co.aikar:fastutil-lite:1.0" testImplementation ("org.junit.jupiter:junit-jupiter-api:5.5.0") testImplementation ("org.junit.jupiter:junit-jupiter-params:5.5.0") testImplementation ("org.mockito:mockito-core:3.0.0") testImplementation ("org.mockito:mockito-junit-jupiter:3.0.0") testRuntime ("org.junit.jupiter:junit-jupiter-engine:5.5.0") } tasks.withType(JavaCompile).configureEach { dependsOn(":worldedit-libs:build") it.options.compilerArgs << "-Xmaxerrs" << "10000" it.options.compilerArgs.add("-Aarg.name.key.prefix=") } sourceSets { main { java { srcDir "src/main/java" srcDir "src/legacy/java" } resources { srcDir "src/main/resources" } } } processResources { from("src/main/resources") { include "fawe.properties" expand( version: "${project.parent.version}", name: project.parent.name, commit: "${git.head().abbreviatedId}", date: "${git.head().getDate().format("yy.MM.dd")}" ) } } jar.archiveName="fawe-api-${project.parent.version}.jar" jar.destinationDir = file "../mvn/com/boydti/fawe-api/" + project.parent.version task createPom { doLast { pom { project { groupId "com.boydti" artifactId "fawe-api" version project.parent.version } } .getEffectivePom() .setDependencies(new ArrayList<>()) .writeTo("../mvn/com/boydti/fawe-api/${project.parent.version}/fawe-api-${project.parent.version}.pom") pom { project { groupId "com.boydti" artifactId "fawe-api" version "latest" } } .getEffectivePom() .setDependencies(new ArrayList<>()) .writeTo("../mvn/com/boydti/fawe-api/latest/fawe-api-latest.pom") } } task copyFiles { doLast { copy { from "../mvn/com/boydti/fawe-api/${project.parent.version}/" into "../mvn/com/boydti/fawe-api/latest/" include("*.jar") rename ("fawe-api-${project.parent.version}.jar", "fawe-api-latest.jar") } } } build.dependsOn(shadowJar) build.finalizedBy(copyFiles) copyFiles.dependsOn(createPom)