2018-12-21 14:38:28 +01:00
|
|
|
import org.ajoberstar.grgit.Grgit
|
|
|
|
|
2016-02-23 05:11:28 +01:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
2018-08-10 17:01:10 +02:00
|
|
|
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
|
2016-02-23 05:11:28 +01:00
|
|
|
jcenter()
|
|
|
|
}
|
2016-07-06 05:39:38 +02:00
|
|
|
dependencies {
|
2019-04-03 18:15:09 +02:00
|
|
|
classpath 'com.github.jengelman.gradle.plugins:shadow:5.0.0'
|
2016-02-23 05:11:28 +01:00
|
|
|
}
|
2018-01-25 07:46:41 +01:00
|
|
|
configurations.all {
|
|
|
|
resolutionStrategy {
|
2019-04-23 23:27:32 +02:00
|
|
|
force 'org.ow2.asm:asm:7.1'
|
2018-01-25 07:46:41 +01:00
|
|
|
}
|
|
|
|
}
|
2016-02-23 05:11:28 +01:00
|
|
|
}
|
2016-02-26 13:55:21 +01:00
|
|
|
|
2018-12-17 14:16:53 +01:00
|
|
|
plugins {
|
2019-04-03 18:15:09 +02:00
|
|
|
id 'maven-publish'
|
|
|
|
id "org.ajoberstar.grgit" version "3.1.1"
|
2018-12-17 14:16:53 +01:00
|
|
|
}
|
|
|
|
|
2019-01-17 15:31:18 +01:00
|
|
|
group = 'com.github.intellectualsites.plotsquared'
|
2016-07-06 05:39:38 +02:00
|
|
|
|
2018-12-06 16:53:21 +01:00
|
|
|
def rootVersion = "4"
|
2017-08-09 07:04:59 +02:00
|
|
|
def revision = ""
|
|
|
|
def buildNumber = ""
|
|
|
|
def date = ""
|
2016-05-19 19:32:35 +02:00
|
|
|
ext {
|
2018-12-21 17:26:19 +01:00
|
|
|
git = Grgit.open(dir: '.git')
|
|
|
|
date = git.head().getDate().format("yy.MM.dd")
|
2017-08-09 07:04:59 +02:00
|
|
|
revision = "-${git.head().abbreviatedId}"
|
|
|
|
parents = git.head().parentIds;
|
2019-04-20 17:26:31 +02:00
|
|
|
if (project.hasProperty('buildnumber')) {
|
|
|
|
buildNumber = "$buildnumber"
|
|
|
|
} else {
|
|
|
|
index = -2042; // Offset to match CI
|
|
|
|
for (; parents != null && !parents.isEmpty(); index++) {
|
|
|
|
parents = git.getResolve().toCommit(parents.get(0)).getParentIds()
|
|
|
|
}
|
|
|
|
buildNumber = "${index}"
|
2017-08-09 07:04:59 +02:00
|
|
|
}
|
2016-05-19 19:32:35 +02:00
|
|
|
}
|
2017-08-09 07:04:59 +02:00
|
|
|
|
2019-01-02 14:01:37 +01:00
|
|
|
// version = String.format("%s.%s%s%s", rootVersion, date, revision, buildNumber)
|
|
|
|
version = String.format("%s.%s", rootVersion, buildNumber)
|
2017-08-09 07:04:59 +02:00
|
|
|
|
2016-09-26 10:31:08 +02:00
|
|
|
description = rootProject.name
|
2016-02-23 05:11:28 +01:00
|
|
|
|
|
|
|
subprojects {
|
|
|
|
apply plugin: 'java'
|
|
|
|
apply plugin: 'maven'
|
2016-02-26 13:55:21 +01:00
|
|
|
apply plugin: 'eclipse'
|
|
|
|
apply plugin: 'idea'
|
2016-07-01 23:13:49 +02:00
|
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
|
|
|
2019-04-05 18:39:16 +02:00
|
|
|
group = 'com.github.intellectualsites.plotsquared'
|
|
|
|
|
|
|
|
clean.doFirst {
|
|
|
|
delete "../target"
|
|
|
|
}
|
2018-12-21 17:26:19 +01:00
|
|
|
|
2016-02-23 05:11:28 +01:00
|
|
|
dependencies {
|
2019-06-27 16:18:54 +02:00
|
|
|
implementation('com.sk89q.worldedit:worldedit-core:7.0.0') {
|
2016-02-23 05:11:28 +01:00
|
|
|
exclude(module: 'bukkit-classloader-check')
|
2016-06-24 02:12:17 +02:00
|
|
|
exclude(module: 'mockito-core')
|
|
|
|
exclude(module: 'dummypermscompat')
|
2016-02-23 05:11:28 +01:00
|
|
|
}
|
2019-05-22 00:32:26 +02:00
|
|
|
implementation 'net.kyori:text-api:3.0.0'
|
2019-02-06 18:02:20 +01:00
|
|
|
//Minecraft uses Guava 21 as of 1.13.
|
|
|
|
compile 'com.google.guava:guava:21.0'
|
2019-04-29 16:49:58 +02:00
|
|
|
compileOnly 'org.jetbrains:annotations:17.0.0'
|
2019-04-23 23:27:32 +02:00
|
|
|
compile("org.projectlombok:lombok:1.18.6")
|
|
|
|
compileOnly("org.projectlombok:lombok:1.18.6")
|
|
|
|
testCompileOnly("org.projectlombok:lombok:1.18.6")
|
|
|
|
annotationProcessor("org.projectlombok:lombok:1.18.6")
|
|
|
|
testAnnotationProcessor("org.projectlombok:lombok:1.18.6")
|
2018-12-21 17:26:19 +01:00
|
|
|
testImplementation "junit:junit:4.12"
|
2016-02-23 05:11:28 +01:00
|
|
|
}
|
2019-04-20 17:26:31 +02:00
|
|
|
|
2016-02-23 05:11:28 +01:00
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
2018-08-10 17:01:10 +02:00
|
|
|
maven { url "http://maven.sk89q.com/repo/" }
|
|
|
|
maven { url "http://repo.maven.apache.org/maven2" }
|
2019-03-18 19:49:22 +01:00
|
|
|
maven { url 'https://jitpack.io' }
|
2016-02-23 05:11:28 +01:00
|
|
|
}
|
2018-08-10 17:01:10 +02:00
|
|
|
}
|
2019-05-02 16:54:14 +02:00
|
|
|
|
|
|
|
task aggregatedJavadocs(type: Javadoc, description: 'Generate javadocs from all child projects as if it was a single project', group: 'Documentation') {
|
|
|
|
destinationDir = file("./docs/javadoc")
|
|
|
|
title = "$project.name $version API"
|
|
|
|
options.author true
|
|
|
|
options.links 'http://docs.spring.io/spring/docs/4.3.x/javadoc-api/', 'http://docs.oracle.com/javase/8/docs/api/', 'http://docs.spring.io/spring-ws/docs/2.3.0.RELEASE/api/', 'http://docs.spring.io/spring-security/site/docs/4.0.4.RELEASE/apidocs/'
|
|
|
|
options.addStringOption('Xdoclint:none', '-quiet')
|
|
|
|
|
2019-05-02 20:51:52 +02:00
|
|
|
delete "./docs"
|
|
|
|
|
2019-05-02 16:54:14 +02:00
|
|
|
subprojects.each { proj ->
|
|
|
|
proj.tasks.withType(Javadoc).each { javadocTask ->
|
|
|
|
source += javadocTask.source
|
|
|
|
classpath += javadocTask.classpath
|
|
|
|
excludes += javadocTask.excludes
|
|
|
|
includes += javadocTask.includes
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|