buildscript { repositories { mavenCentral() maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" } jcenter() } dependencies { classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3' classpath 'org.ajoberstar:grgit:1.7.0' } configurations.all { resolutionStrategy { force 'org.ow2.asm:asm:6.0_BETA' } } } task setupCIWorkspace { // do nothing, stub method } apply plugin: 'java' clean { delete "target" } group = 'com.boydti.fawe' def revision = "" def buildNumber = "" def semver = "" def date = "" ext { try { git = org.ajoberstar.grgit.Grgit.open(file(".git")) date = git.head().date.format("yy.MM.dd") revision = "-${git.head().abbreviatedId}" parents = git.head().parentIds; index = -96; // Offset to match CI int major, minor, patch; major = minor = patch = 0; for (; parents != null && !parents.isEmpty(); index++) { int majorCount, minorCount, patchCount; patchCount = minor == 0 && major == 0 ? 1 : 0; commit = git.getResolve().toCommit(parents.get(0)); for (String line : commit.fullMessage.tokenize("\n")) { switch (line.replaceAll("- ", "").split(" ")[0].toLowerCase()) { case "minor": case "added": case "add": case "change": case "changed": case "changes": if (major == 0) { minorCount = 1; patchCount = 0; } break; case "refactor": case "remove": case "major": patchCount = minorCount = 0; majorCount = 1; break; } } major += majorCount; minor += minorCount; patch += patchCount; parents = commit.getParentIds() } buildNumber = "-${index}" semver = "-${major}.${minor}.${patch}" } catch (Throwable ignore) { revision = "unknown"; } } version = date + revision + buildNumber + semver if ( project.hasProperty("lzNoVersion") ) { // gradle build -PlzNoVersion version = "unknown"; } description = """FastAsyncWorldEdit""" subprojects { apply plugin: 'java' apply plugin: 'maven' apply plugin: 'eclipse' apply plugin: 'idea' sourceCompatibility = 1.8 targetCompatibility = 1.8 compileJava { options.compilerArgs += ["-parameters"] } repositories { maven {url "https://mvnrepository.com/artifact/"} mavenCentral() maven {url "http://repo.dmulloy2.net/content/groups/public/"} maven {url "https://repo.destroystokyo.com/repository/maven-public//"} maven {url "http://ci.emc.gs/nexus/content/groups/aikar/" } maven {url "http://ci.mengcraft.com:8080/plugin/repository/everything"} maven {url "http://ci.athion.net/job/PlotSquared/ws/mvn/"} maven {url "http://empcraft.com/maven2"} maven {url "https://hub.spigotmc.org/nexus/content/groups/public/"} maven {url "http://maven.sk89q.com/repo/"} maven {url "http://nexus.hc.to/content/repositories/pub_releases"} maven {url "http://repo.maven.apache.org/maven2"} maven {url "http://ci.frostcast.net/plugin/repository/everything"} maven {url "http://maven.sk89q.com/artifactory/repo"} maven {url "http://repo.spongepowered.org/maven"} maven {url "https://repo.inventivetalent.org/content/groups/public/"} maven {url "http://dl.bintray.com/tastybento/maven-repo"} } }