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' // classpath 'it.unimi.dsi:fastutil:7.0.12' } } 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 { 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 = -82; // Offset to mach 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}" } 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.7 targetCompatibility = 1.7 repositories { mavenCentral() maven {url "http://ci.regularbox.com/plugin/repository/everything/"} maven {url "http://empcraft.com/maven2"} maven {url "http://repo.mcstats.org/content/repositories/public"} 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"} } }