mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-12-22 09:17:39 +00:00
Updates to gradle files.
This commit is contained in:
parent
3a4354268c
commit
e38541aa9b
149
build.gradle
149
build.gradle
@ -2,7 +2,6 @@ import org.ajoberstar.grgit.Grgit
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
|
||||
jcenter()
|
||||
@ -10,8 +9,6 @@ buildscript {
|
||||
|
||||
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'
|
||||
}
|
||||
}
|
||||
@ -27,12 +24,19 @@ plugins {
|
||||
id "org.ajoberstar.grgit" version "3.1.1"
|
||||
}
|
||||
|
||||
apply plugin: 'java'
|
||||
println """
|
||||
*******************************************
|
||||
You are building WorldEdit!
|
||||
|
||||
def splashFile = new File('splash.txt')
|
||||
if (splashFile.exists()) {
|
||||
print splashFile.text
|
||||
}
|
||||
If you encounter trouble:
|
||||
1) Read COMPILING.md if you haven't yet
|
||||
2) Try running 'build' in a separate Gradle run
|
||||
3) Use gradlew and not gradle
|
||||
4) If you still need help, ask on Discord! https://discord.gg/ngZCzbU
|
||||
|
||||
Output files will be in /target
|
||||
*******************************************
|
||||
"""
|
||||
|
||||
group = 'com.boydti.fawe'
|
||||
|
||||
@ -61,39 +65,56 @@ version = String.format("%s.%s", rootVersion, buildNumber)
|
||||
description = rootProject.name
|
||||
|
||||
subprojects {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url "http://maven.sk89q.com/repo/" }
|
||||
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
|
||||
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/" }
|
||||
}
|
||||
configurations.all {
|
||||
resolutionStrategy {
|
||||
cacheChangingModulesFor 5, 'minutes'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configure(['worldedit-core', 'worldedit-bukkit', 'favs'].collect { project("$it") }) {
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'maven'
|
||||
// apply plugin: 'checkstyle'
|
||||
apply plugin: 'com.github.johnrengelman.shadow'
|
||||
//Enable this requires putting license header files in many, many FAWE files
|
||||
//apply plugin: 'net.minecrell.licenser'
|
||||
// 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
|
||||
|
||||
// checkstyle.configFile = new File(rootProject.projectDir, "config/checkstyle/checkstyle.xml")
|
||||
// checkstyle.toolVersion = '7.6.1'
|
||||
|
||||
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 (JavaVersion.current().isJava8Compatible()) {
|
||||
// Java 8 turns on doclint which we fail
|
||||
tasks.withType(Javadoc) {
|
||||
options.addStringOption('Xdoclint:none', '-quiet')
|
||||
}
|
||||
}
|
||||
|
||||
if (!(name.equals('worldedit-forge') || name.equals('worldedit-sponge'))) {
|
||||
@ -108,46 +129,50 @@ subprojects {
|
||||
build.dependsOn(sourcesJar)
|
||||
}
|
||||
|
||||
// build.dependsOn(checkstyleMain)
|
||||
// build.dependsOn(checkstyleTest)
|
||||
|
||||
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'))
|
||||
include(dependency('org.jetbrains:annotations:17.0.0'))
|
||||
configure(['bukkit'].collect { project(":worldedit-$it") }) {
|
||||
shadowJar {
|
||||
classifier 'dist'
|
||||
dependencies {
|
||||
include(project(":worldedit-libs:core"))
|
||||
include(project(":worldedit-libs:${project.name.replace("worldedit-", "")}"))
|
||||
include(project(":worldedit-core"))
|
||||
}
|
||||
exclude 'GradleStart**'
|
||||
exclude '.cache'
|
||||
exclude 'LICENSE*'
|
||||
}
|
||||
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')
|
||||
|
||||
// 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"
|
||||
|
||||
delete "./docs"
|
||||
|
||||
subprojects.each { proj ->
|
||||
proj.tasks.withType(Javadoc).each { javadocTask ->
|
||||
source += javadocTask.source
|
||||
classpath += javadocTask.classpath
|
||||
excludes += javadocTask.excludes
|
||||
includes += javadocTask.includes
|
||||
subprojects.each { proj ->
|
||||
proj.tasks.withType(Javadoc).each { javadocTask ->
|
||||
source += javadocTask.source
|
||||
classpath += javadocTask.classpath
|
||||
excludes += javadocTask.excludes
|
||||
includes += javadocTask.includes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,3 +1,11 @@
|
||||
rootProject.name = 'FastAsyncWorldEdit'
|
||||
|
||||
include 'worldedit-core', 'worldedit-bukkit', 'favs'
|
||||
include 'worldedit-libs'
|
||||
|
||||
['bukkit', 'core'].forEach {
|
||||
include "worldedit-libs:$it"
|
||||
include "worldedit-$it"
|
||||
}
|
||||
include "worldedit-libs:core:ap"
|
||||
|
||||
include 'favs'
|
||||
|
@ -1,21 +1,29 @@
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'idea'
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'java-library'
|
||||
|
||||
repositories {
|
||||
maven { url "https://hub.spigotmc.org/nexus/content/groups/public" }
|
||||
maven { url "https://repo.codemc.org/repository/maven-public" }
|
||||
maven { url 'https://papermc.io/repo/repository/maven-public/' }
|
||||
maven { url "https://papermc.io/repo/repository/maven-public/" }
|
||||
}
|
||||
|
||||
configurations.all { Configuration it ->
|
||||
it.resolutionStrategy { ResolutionStrategy rs ->
|
||||
rs.force("com.google.guava:guava:21.0")
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':worldedit-core')
|
||||
|
||||
api project(':worldedit-core')
|
||||
api project(':worldedit-libs:bukkit')
|
||||
compile 'net.milkbowl.vault:VaultAPI:1.7'
|
||||
compile 'com.sk89q:dummypermscompat:1.10'
|
||||
compile 'com.destroystokyo.paper:paper-api:1.13.2-R0.1-SNAPSHOT'
|
||||
implementation 'io.papermc:paperlib:1.0.2'
|
||||
compileOnly 'com.sk89q:dummypermscompat:1.10'
|
||||
compile 'org.spigotmc:spigot:1.13.2-R0.1-SNAPSHOT'
|
||||
compile 'org.slf4j:slf4j-jdk14:1.7.26'
|
||||
implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.8.1'
|
||||
testCompile 'org.mockito:mockito-core:1.9.0-rc1'
|
||||
compile 'com.massivecraft:factions:2.8.0'
|
||||
compile 'com.drtshock:factions:1.6.9.5'
|
||||
@ -81,9 +89,13 @@ task copyFiles {
|
||||
shadowJar {
|
||||
dependencies {
|
||||
relocate "org.slf4j", "com.sk89q.worldedit.slf4j"
|
||||
relocate "org.apache.logging.slf4j", "com.sk89q.worldedit.log4jbridge"
|
||||
include(dependency(':worldedit-core'))
|
||||
include(dependency('org.slf4j:slf4j-api'))
|
||||
include(dependency("org.slf4j:slf4j-jdk14"))
|
||||
include(dependency("org.apache.logging.log4j:log4j-slf4j-impl"))
|
||||
relocate ("io.papermc.lib", "com.sk89q.worldedit.bukkit.paperlib") {
|
||||
include(dependency("io.papermc:paperlib:1.0.2"))
|
||||
}
|
||||
}
|
||||
archiveName = "${parent.name}-${project.name.replaceAll("worldedit-", "")}-${parent.version}.jar"
|
||||
destinationDir = file '../target'
|
||||
|
@ -1,24 +1,38 @@
|
||||
apply plugin: 'java-library'
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'idea'
|
||||
repositories {
|
||||
maven {url "http://ci.athion.net/job/PlotSquared-Breaking/ws/mvn/"}
|
||||
}
|
||||
|
||||
configurations.all { Configuration it ->
|
||||
it.resolutionStrategy { ResolutionStrategy rs ->
|
||||
rs.force("com.google.guava:guava:21.0")
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':worldedit-libs:core')
|
||||
compile 'de.schlichtherle:truezip:6.8.3'
|
||||
compile 'rhino:js:1.7R2'
|
||||
compile 'org.yaml:snakeyaml:1.23'
|
||||
compile 'com.google.guava:guava:21.0'
|
||||
compile 'com.sk89q:jchronic:0.2.4a'
|
||||
compile 'com.google.code.findbugs:jsr305:1.3.9'
|
||||
compile 'com.thoughtworks.paranamer:paranamer:2.6'
|
||||
compile 'com.google.code.gson:gson:2.8.0'
|
||||
compile 'com.sk89q.lib:jlibnoise:1.0.0'
|
||||
compile 'com.googlecode.json-simple:json-simple:1.1.1'
|
||||
compile 'org.slf4j:slf4j-api:1.7.26'
|
||||
|
||||
compileOnly project(':worldedit-libs:core:ap')
|
||||
annotationProcessor project(':worldedit-libs:core:ap')
|
||||
annotationProcessor "com.google.guava:guava:21.0"
|
||||
def avVersion = "1.6.5"
|
||||
compileOnly "com.google.auto.value:auto-value-annotations:$avVersion"
|
||||
annotationProcessor "com.google.auto.value:auto-value:$avVersion"
|
||||
//compile 'net.sf.trove4j:trove4j:3.0.3'
|
||||
testCompile 'org.mockito:mockito-core:1.9.0-rc1'
|
||||
|
||||
// Fawe depends
|
||||
compile 'org.yaml:snakeyaml:1.19'
|
||||
compile 'net.fabiozumbi12:redprotect:1.9.6'
|
||||
compile ("com.github.intellectualsites.plotsquared:PlotSquared-API:latest") {
|
||||
transitive = false
|
||||
@ -28,6 +42,10 @@ dependencies {
|
||||
compile 'co.aikar:fastutil-lite:1.0'
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile).configureEach {
|
||||
it.options.compilerArgs.add("-Aarg.name.key.prefix=")
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
|
143
worldedit-libs/build.gradle
Normal file
143
worldedit-libs/build.gradle
Normal file
@ -0,0 +1,143 @@
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
/*
|
||||
|
||||
This project shades <em>API</em> libraries, i.e. those libraries
|
||||
whose classes are publicly referenced from `-core` classes.
|
||||
|
||||
This project <em>does not</em> shade implementation libraries, i.e.
|
||||
those libraries whose classes are internally depended on.
|
||||
|
||||
This is because the main reason for shading those libraries is for
|
||||
their internal usage in each platform, not because we need them available to
|
||||
dependents of `-core` to compile and work with WorldEdit's API.
|
||||
|
||||
*/
|
||||
configure(subprojects + project("core:ap")) {
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'com.github.johnrengelman.shadow'
|
||||
apply plugin: 'com.jfrog.artifactory'
|
||||
configurations {
|
||||
create("shade")
|
||||
getByName("archives").extendsFrom(getByName("default"))
|
||||
}
|
||||
|
||||
group = rootProject.group + ".worldedit-libs"
|
||||
|
||||
tasks.register("jar", ShadowJar) {
|
||||
configurations = [project.configurations.shade]
|
||||
classifier = ""
|
||||
|
||||
dependencies {
|
||||
exclude(dependency("com.google.guava:guava"))
|
||||
exclude(dependency("com.google.code.gson:gson"))
|
||||
exclude(dependency("org.checkerframework:checker-qual"))
|
||||
}
|
||||
|
||||
relocate('net.kyori.text', 'com.sk89q.worldedit.util.formatting.text')
|
||||
}
|
||||
def altConfigFiles = { String artifactType ->
|
||||
def deps = configurations.shade.incoming.dependencies
|
||||
.collect { it.copy() }
|
||||
.collect { dependency ->
|
||||
dependency.artifact { artifact ->
|
||||
artifact.name = dependency.name
|
||||
artifact.type = artifactType
|
||||
artifact.extension = 'jar'
|
||||
artifact.classifier = artifactType
|
||||
}
|
||||
dependency
|
||||
}
|
||||
|
||||
return files(configurations.detachedConfiguration(deps as Dependency[])
|
||||
.resolvedConfiguration.lenientConfiguration.getArtifacts()
|
||||
.findAll { it.classifier == artifactType }
|
||||
.collect { zipTree(it.file) })
|
||||
}
|
||||
tasks.register("sourcesJar", Jar) {
|
||||
from {
|
||||
altConfigFiles('sources')
|
||||
}
|
||||
def filePattern = ~'(.*)net/kyori/text((?:/|$).*)'
|
||||
def textPattern = ~/net\.kyori\.text/
|
||||
eachFile {
|
||||
it.filter { String line ->
|
||||
line.replaceFirst(textPattern, 'com.sk89q.worldedit.util.formatting.text')
|
||||
}
|
||||
it.path = it.path.replaceFirst(filePattern, '$1com/sk89q/worldedit/util/formatting/text$2')
|
||||
}
|
||||
classifier = "sources"
|
||||
}
|
||||
|
||||
artifacts {
|
||||
add("default", jar)
|
||||
add("archives", sourcesJar)
|
||||
}
|
||||
|
||||
tasks.register("install", Upload) {
|
||||
configuration = configurations.archives
|
||||
repositories.mavenInstaller {
|
||||
pom.version = project.version
|
||||
pom.artifactId = project.name
|
||||
}
|
||||
}
|
||||
|
||||
artifactoryPublish {
|
||||
publishConfigs('default')
|
||||
}
|
||||
|
||||
build.dependsOn(jar, sourcesJar)
|
||||
}
|
||||
|
||||
def textExtrasVersion = "3.0.2"
|
||||
project("core") {
|
||||
def textVersion = "3.0.1"
|
||||
def pistonVersion = '0.4.1'
|
||||
|
||||
dependencies {
|
||||
shade "net.kyori:text-api:$textVersion"
|
||||
shade "net.kyori:text-serializer-gson:$textVersion"
|
||||
shade "net.kyori:text-serializer-legacy:$textVersion"
|
||||
shade "net.kyori:text-serializer-plain:$textVersion"
|
||||
shade('com.sk89q:jchronic:0.2.4a') {
|
||||
exclude(group: "junit", module: "junit")
|
||||
}
|
||||
shade 'com.thoughtworks.paranamer:paranamer:2.6'
|
||||
shade 'com.sk89q.lib:jlibnoise:1.0.0'
|
||||
shade "org.enginehub.piston:core:$pistonVersion"
|
||||
shade "org.enginehub.piston.core-ap:runtime:$pistonVersion"
|
||||
shade "org.enginehub.piston:default-impl:$pistonVersion"
|
||||
}
|
||||
|
||||
project("ap") {
|
||||
dependencies {
|
||||
shade "org.enginehub.piston.core-ap:annotations:$pistonVersion"
|
||||
shade "org.enginehub.piston.core-ap:processor:$pistonVersion"
|
||||
}
|
||||
}
|
||||
}
|
||||
project("bukkit") {
|
||||
repositories {
|
||||
maven {
|
||||
name = "SpigotMC"
|
||||
url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/"
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
shade "net.kyori:text-adapter-bukkit:$textExtrasVersion"
|
||||
}
|
||||
}
|
||||
/*project("sponge") {
|
||||
repositories {
|
||||
maven {
|
||||
name = "Sponge"
|
||||
url = "https://repo.spongepowered.org/maven"
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
shade "net.kyori:text-adapter-spongeapi:$textExtrasVersion"
|
||||
}
|
||||
}*/
|
||||
|
||||
tasks.register("build") {
|
||||
dependsOn(subprojects.collect { it.tasks.named("build") })
|
||||
}
|
Loading…
Reference in New Issue
Block a user