mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-11-02 19:06:07 +00:00
149 lines
4.8 KiB
Groovy
149 lines
4.8 KiB
Groovy
import org.ajoberstar.grgit.Grgit
|
|
|
|
buildscript {
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
|
|
jcenter()
|
|
}
|
|
|
|
configurations.all {
|
|
resolutionStrategy {
|
|
force 'com.google.guava:guava:21.0'
|
|
force 'org.ow2.asm:asm:6.0_BETA'
|
|
force 'commons-io:commons-io:2.4'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4'
|
|
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.8.1'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'net.minecrell.licenser' version '0.4.1' apply false
|
|
id "org.ajoberstar.grgit" version "3.1.1"
|
|
}
|
|
|
|
apply plugin: 'java'
|
|
|
|
def splashFile = new File('splash.txt')
|
|
if (splashFile.exists()) {
|
|
print splashFile.text
|
|
}
|
|
|
|
group = 'com.boydti.fawe'
|
|
|
|
def rootVersion = "1.13"
|
|
def revision = ""
|
|
def buildNumber = ""
|
|
def date = ""
|
|
ext {
|
|
git = Grgit.open(dir: '.git')
|
|
date = git.head().getDate().format("yy.MM.dd")
|
|
revision = "-${git.head().abbreviatedId}"
|
|
parents = git.head().parentIds;
|
|
if (project.hasProperty('buildnumber')) {
|
|
buildNumber = "$buildnumber"
|
|
} else {
|
|
index = -2109; // Offset to match CI
|
|
for (; parents != null && !parents.isEmpty(); index++) {
|
|
parents = git.getResolve().toCommit(parents.get(0)).getParentIds()
|
|
}
|
|
buildNumber = "${index}"
|
|
}
|
|
}
|
|
|
|
version = String.format("%s.%s", rootVersion, buildNumber)
|
|
|
|
description = rootProject.name
|
|
|
|
subprojects {
|
|
apply plugin: 'java'
|
|
apply plugin: 'maven'
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
//Enable this requires putting license header files in many, many FAWE files
|
|
//apply plugin: 'net.minecrell.licenser'
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
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//"}
|
|
maven {url "http://ci.athion.net/job/PlotSquared-Breaking/ws/mvn/"}
|
|
maven { url "https://libraries.minecraft.net" }
|
|
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"}
|
|
maven {url "http://ci.emc.gs/nexus/content/groups/aikar/" }
|
|
}
|
|
|
|
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)
|
|
}
|
|
|
|
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'))
|
|
}
|
|
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'
|
|
//}
|
|
}
|
|
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
|
|
}
|
|
}
|
|
}
|