Plex-FAWE/build.gradle

154 lines
4.9 KiB
Groovy
Raw Normal View History

2019-04-09 15:03:39 +00:00
import org.ajoberstar.grgit.Grgit
buildscript {
repositories {
2018-12-17 12:48:52 +00:00
mavenLocal()
mavenCentral()
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
}
2015-02-12 21:30:49 +00:00
configurations.all {
resolutionStrategy {
2018-08-06 09:08:15 +00:00
force 'com.google.guava:guava:21.0'
2017-10-20 00:06:01 +00:00
force 'org.ow2.asm:asm:6.0_BETA'
2019-04-03 16:17:24 +00:00
force 'commons-io:commons-io:2.4'
2015-02-12 21:30:49 +00:00
}
}
dependencies {
2018-09-25 10:24:10 +00:00
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4'
2019-04-03 16:17:24 +00:00
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.8.1'
}
}
2018-10-04 07:29:34 +00:00
plugins {
id 'net.minecrell.licenser' version '0.4.1' apply false
2019-04-09 15:03:39 +00:00
id "org.ajoberstar.grgit" version "3.1.1"
2018-10-04 07:29:34 +00:00
}
apply plugin: 'java'
def splashFile = new File('splash.txt')
if (splashFile.exists()) {
print splashFile.text
}
2018-10-04 07:29:34 +00:00
group = 'com.boydti.fawe'
2019-01-03 11:52:23 +00:00
def rootVersion = "1.13"
def revision = ""
def buildNumber = ""
def date = ""
ext {
2019-04-09 15:03:39 +00:00
git = Grgit.open(dir: '.git')
date = git.head().getDate().format("yy.MM.dd")
revision = "-${git.head().abbreviatedId}"
parents = git.head().parentIds;
2019-04-22 14:11:43 +00:00
if (project.hasProperty('buildnumber')) {
buildNumber = "$buildnumber"
} else {
index = -2109; // Offset to match CI
2018-08-12 17:38:20 +00:00
for (; parents != null && !parents.isEmpty(); index++) {
2019-04-22 14:11:43 +00:00
parents = git.getResolve().toCommit(parents.get(0)).getParentIds()
2018-08-12 17:38:20 +00:00
}
2019-01-03 11:52:23 +00:00
buildNumber = "${index}"
}
}
2019-05-02 17:28:09 +00:00
version = String.format("%s.%s", rootVersion, buildNumber)
description = rootProject.name
subprojects {
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'com.github.johnrengelman.shadow'
2019-05-02 17:28:09 +00:00
//Enable this requires putting license header files in many, many FAWE files
//apply plugin: 'net.minecrell.licenser'
2018-06-16 06:36:55 +00:00
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
2018-08-15 14:04:16 +00:00
2019-05-02 17:28:09 +00:00
clean.doFirst {
delete "../target"
}
compileJava { options.compilerArgs += ["-parameters"] }
repositories {
mavenCentral()
maven { url "http://maven.sk89q.com/repo/" }
maven { url "http://repo.maven.apache.org/maven2" }
// Fawe
maven {url "https://mvnrepository.com/artifact/"}
maven {url "http://repo.dmulloy2.net/content/groups/public/"}
maven {url "https://repo.destroystokyo.com/repository/maven-public//"}
2019-03-06 16:35:42 +00:00
maven {url "http://ci.athion.net/job/PlotSquared-Breaking/ws/mvn/"}
2019-04-18 00:20:31 +00:00
maven { url "https://libraries.minecraft.net" }
2018-12-17 13:47:29 +00:00
mavenLocal()
maven {url "http://empcraft.com/maven2"}
maven {url "https://hub.spigotmc.org/nexus/content/groups/public/"}
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 "http://dl.bintray.com/tastybento/maven-repo"}
2018-08-14 07:18:49 +00:00
maven {url "http://ci.emc.gs/nexus/content/groups/aikar/" }
}
2016-02-02 20:12:54 +00:00
if (!(name.equals('worldedit-forge') || name.equals('worldedit-sponge'))) {
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
build.dependsOn(sourcesJar)
}
2019-05-29 03:23:51 +00:00
dependencies {
compileOnly 'org.jetbrains:annotations:17.0.0'
}
shadowJar {
classifier 'dist'
dependencies {
include(dependency('com.sk89q:jchronic:0.2.4a'))
include(dependency('com.thoughtworks.paranamer:paranamer:2.6'))
include(dependency('com.sk89q.lib:jlibnoise:1.0.0'))
include(dependency('com.github.luben:zstd-jni:1.1.1'))
include(dependency('co.aikar:fastutil-lite:1.0'))
2019-05-29 03:23:51 +00:00
include(dependency('org.jetbrains:annotations:17.0.0'))
}
exclude 'GradleStart**'
exclude '.cache'
exclude 'LICENSE*'
}
// Enable this requires putting license header files in many, many FAWE files
//license {
// header = rootProject.file("HEADER.txt")
// include '**/*.java'
//}
}
2019-05-02 17:28:09 +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
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')
delete "./docs"
subprojects.each { proj ->
proj.tasks.withType(Javadoc).each { javadocTask ->
source += javadocTask.source
classpath += javadocTask.classpath
excludes += javadocTask.excludes
includes += javadocTask.includes
}
}
}