TF-PlotSquared/build.gradle

138 lines
4.4 KiB
Groovy
Raw Normal View History

import org.ajoberstar.grgit.Grgit
2016-02-23 04:11:28 +00:00
buildscript {
repositories {
mavenCentral()
2018-08-10 15:01:10 +00:00
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
2016-02-23 04:11:28 +00:00
jcenter()
}
2016-07-06 03:39:38 +00:00
dependencies {
2019-08-07 23:16:44 +00:00
classpath("com.github.jengelman.gradle.plugins:shadow:5.0.0")
2016-02-23 04:11:28 +00:00
}
2018-01-25 06:46:41 +00:00
configurations.all {
resolutionStrategy {
force("org.ow2.asm:asm:7.2")
2019-08-07 23:16:44 +00:00
force("org.jetbrains:annotations:17.0.0")
2018-01-25 06:46:41 +00:00
}
}
2016-02-23 04:11:28 +00:00
}
2018-12-17 13:16:53 +00:00
plugins {
2019-08-06 19:05:04 +00:00
id "maven-publish"
id "org.ajoberstar.grgit" version "4.0.0"
2018-12-17 13:16:53 +00:00
}
2019-08-06 19:05:04 +00:00
group = "com.github.intellectualsites.plotsquared"
2016-07-06 03:39:38 +00:00
def rootVersion = "4"
def revision = ""
def buildNumber = ""
def date = ""
2016-05-19 17:32:35 +00:00
ext {
2019-08-07 23:16:44 +00:00
git = Grgit.open(dir: new File(rootDir.toString() + "/.git"))
date = git.head().getDate().format("yy.MM.dd")
revision = "-${git.head().abbreviatedId}"
2019-09-04 01:04:51 +00:00
parents = git.head().parentIds
2019-08-06 19:05:04 +00:00
if (project.hasProperty("buildnumber")) {
2019-04-20 15:26:31 +00:00
buildNumber = "$buildnumber"
} else {
2019-09-04 01:04:51 +00:00
index = -2042 // Offset to match CI
2019-04-20 15:26:31 +00:00
for (; parents != null && !parents.isEmpty(); index++) {
parents = git.getResolve().toCommit(parents.get(0)).getParentIds()
}
buildNumber = "${index}"
}
2016-05-19 17:32:35 +00:00
}
version = String.format("%s.%s", rootVersion, buildNumber)
description = rootProject.name
2016-02-23 04:11:28 +00:00
2019-11-04 19:55:55 +00:00
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xmaxerrs" << "1000"
}
}
}
2016-02-23 04:11:28 +00:00
subprojects {
2019-08-07 23:16:44 +00:00
apply(plugin: "java")
apply(plugin: "maven")
apply(plugin: "eclipse")
apply(plugin: "idea")
apply(plugin: "com.github.johnrengelman.shadow")
2016-07-01 21:13:49 +00:00
2019-08-06 19:05:04 +00:00
group = "com.github.intellectualsites.plotsquared"
2019-04-05 16:39:16 +00:00
clean.doFirst {
2019-08-07 23:16:44 +00:00
delete("../target")
2019-04-05 16:39:16 +00:00
}
2016-02-23 04:11:28 +00:00
dependencies {
2019-08-06 19:05:04 +00:00
implementation("com.sk89q.worldedit:worldedit-core:7.0.0") {
exclude(module: "bukkit-classloader-check")
exclude(module: "mockito-core")
exclude(module: "dummypermscompat")
2016-02-23 04:11:28 +00:00
}
2019-09-04 01:04:51 +00:00
implementation("net.kyori:text-api:3.0.2")
implementation("net.kyori:text-serializer-gson:3.0.2")
implementation("net.kyori:text-serializer-legacy:3.0.2")
implementation("net.kyori:text-serializer-plain:3.0.2")
2019-08-07 23:16:44 +00:00
implementation("com.google.guava:guava:21.0") {
because("Minecraft uses Guava 21 as of 1.13")
}
compileOnly("org.jetbrains:annotations:17.0.0")
compileClasspath("org.projectlombok:lombok:1.18.10")
2019-08-07 23:16:44 +00:00
testCompileOnly("org.projectlombok:lombok:1.18.8")
annotationProcessor("org.projectlombok:lombok:1.18.8")
testAnnotationProcessor("org.projectlombok:lombok:1.18.8")
testImplementation("junit:junit:4.12")
}
configurations.all {
resolutionStrategy {
force("junit:junit:4.12")
force("com.google.guava:guava:21.0")
force("org.jetbrains:annotations:17.0.0")
force("com.google.code.findbugs:jsr305:3.0.2")
}
2016-02-23 04:11:28 +00:00
}
2019-04-20 15:26:31 +00:00
2016-02-23 04:11:28 +00:00
repositories {
mavenCentral()
2019-08-07 23:16:44 +00:00
maven { url = "http://maven.sk89q.com/repo/" }
maven { url = "http://repo.maven.apache.org/maven2" }
maven { url = "https://jitpack.io" }
}
shadowJar {
dependencies {
include(dependency("net.kyori:text-api:3.0.2"))
}
relocate("io.papermc.lib", "com.github.intellectualsites.plotsquared.bukkit.paperlib")
// relocate('org.mcstats', 'com.plotsquared.stats')
2019-09-07 20:46:13 +00:00
archiveFileName = "${parent.name}-${project.name}-${parent.version}.jar"
destinationDirectory = file "../target"
2016-02-23 04:11:28 +00:00
}
2018-08-10 15:01:10 +00:00
}
2019-08-06 19:05:04 +00: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
2019-08-06 19:05:04 +00:00
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-08-07 23:16:44 +00:00
delete("./docs")
2019-05-02 18:51:52 +00:00
subprojects.each { proj ->
proj.tasks.withType(Javadoc).each { javadocTask ->
source += javadocTask.source
classpath += javadocTask.classpath
excludes += javadocTask.excludes
includes += javadocTask.includes
}
}
}