2016-04-02 06:06:24 +02:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
|
|
|
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
|
|
|
|
jcenter()
|
|
|
|
}
|
|
|
|
dependencies {
|
|
|
|
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
|
2016-05-14 15:38:07 +02:00
|
|
|
classpath 'org.ajoberstar:grgit:1.7.0'
|
2016-04-02 06:06:24 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-01-15 15:58:24 +01:00
|
|
|
task setupCIWorkspace {
|
|
|
|
// do nothing, stub method
|
|
|
|
}
|
|
|
|
|
2016-04-30 04:49:23 +02:00
|
|
|
apply plugin: 'java'
|
|
|
|
clean { delete "target" }
|
|
|
|
|
2016-04-02 06:06:24 +02:00
|
|
|
group = 'com.boydti.fawe'
|
2016-08-14 02:26:51 +02:00
|
|
|
|
2016-05-13 10:19:04 +02:00
|
|
|
def revision = ""
|
2016-08-14 02:26:51 +02:00
|
|
|
def buildNumber = ""
|
2016-09-23 09:11:41 +02:00
|
|
|
def semver = ""
|
|
|
|
def date = ""
|
2016-05-13 10:19:04 +02:00
|
|
|
ext {
|
2016-05-14 15:38:07 +02:00
|
|
|
git = org.ajoberstar.grgit.Grgit.open(file(".git"))
|
2016-09-23 09:11:41 +02:00
|
|
|
date = git.head().date.format("yy.MM.dd")
|
2016-05-13 10:19:04 +02:00
|
|
|
revision = "-${git.head().abbreviatedId}"
|
2016-08-14 02:26:51 +02:00
|
|
|
parents = git.head().parentIds;
|
2017-06-09 09:08:57 +02:00
|
|
|
index = -92; // Offset to match CI
|
2016-09-23 09:11:41 +02:00
|
|
|
int major, minor, patch;
|
|
|
|
major = minor = patch = 0;
|
2016-08-14 02:26:51 +02:00
|
|
|
for (;parents != null && !parents.isEmpty();index++) {
|
2016-09-23 09:11:41 +02:00
|
|
|
int majorCount, minorCount, patchCount;
|
2016-09-25 18:42:23 +02:00
|
|
|
patchCount = minor == 0 && major == 0 ? 1 : 0;
|
2016-08-14 02:26:51 +02:00
|
|
|
commit = git.getResolve().toCommit(parents.get(0));
|
2016-09-23 09:11:41 +02:00
|
|
|
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":
|
2016-09-25 18:42:23 +02:00
|
|
|
if (major == 0) {minorCount = 1; patchCount = 0;}
|
2016-09-23 09:11:41 +02:00
|
|
|
break;
|
|
|
|
case "refactor":
|
|
|
|
case "remove":
|
|
|
|
case "major":
|
2016-09-25 18:42:23 +02:00
|
|
|
patchCount = minorCount = 0;
|
2016-09-23 09:11:41 +02:00
|
|
|
majorCount = 1;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
major += majorCount;
|
|
|
|
minor += minorCount;
|
|
|
|
patch += patchCount;
|
|
|
|
parents = commit.getParentIds()
|
2016-08-14 02:26:51 +02:00
|
|
|
}
|
|
|
|
buildNumber = "-${index}"
|
2016-09-23 09:11:41 +02:00
|
|
|
semver = "-${major}.${minor}.${patch}"
|
2016-05-13 10:19:04 +02:00
|
|
|
}
|
2016-08-07 01:55:59 +02:00
|
|
|
|
2016-09-23 09:11:41 +02:00
|
|
|
version = date + revision + buildNumber + semver
|
2016-08-16 10:49:56 +02:00
|
|
|
if ( project.hasProperty("lzNoVersion") ) { // gradle build -PlzNoVersion
|
2016-08-22 14:18:59 +02:00
|
|
|
version = "unknown";
|
2016-08-16 10:49:56 +02:00
|
|
|
}
|
2016-04-02 06:06:24 +02:00
|
|
|
description = """FastAsyncWorldEdit"""
|
|
|
|
|
|
|
|
subprojects {
|
|
|
|
apply plugin: 'java'
|
|
|
|
apply plugin: 'maven'
|
|
|
|
apply plugin: 'eclipse'
|
|
|
|
apply plugin: 'idea'
|
|
|
|
|
2017-02-26 06:39:00 +01:00
|
|
|
sourceCompatibility = 1.8
|
|
|
|
targetCompatibility = 1.8
|
2016-06-10 06:08:37 +02:00
|
|
|
|
2016-04-02 06:06:24 +02:00
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
2017-02-16 10:32:16 +01:00
|
|
|
maven { url = "https://mvnrepository.com/artifact/"}
|
2017-01-28 23:25:53 +01:00
|
|
|
maven {url "http://ci.emc.gs/nexus/content/groups/aikar/" }
|
2017-06-09 09:08:57 +02:00
|
|
|
maven {url "http://ci.mengcraft.com:8080/plugin/repository/everything/"}
|
2017-03-18 15:32:24 +01:00
|
|
|
maven {url "http://ci.athion.net/job/PlotSquared/ws/mvn/"}
|
2016-04-02 06:06:24 +02:00
|
|
|
maven {url "http://empcraft.com/maven2"}
|
|
|
|
maven {url "https://hub.spigotmc.org/nexus/content/groups/public/"}
|
|
|
|
maven {url "http://maven.sk89q.com/repo/"}
|
2016-08-15 00:08:21 +02:00
|
|
|
maven {url "http://nexus.hc.to/content/repositories/pub_releases"}
|
2016-04-02 06:06:24 +02:00
|
|
|
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"}
|
|
|
|
}
|
2016-08-15 00:08:21 +02:00
|
|
|
}
|