GriefDefender/bukkit/build.gradle

201 lines
6.5 KiB
Groovy
Raw Normal View History

2019-11-19 19:11:47 +01:00
buildscript {
repositories {
maven {
url = 'https://plugins.gradle.org/m2/'
}
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:5.1.0'
}
}
plugins {
id 'com.github.johnrengelman.shadow' version '5.1.0'
id 'maven'
id 'java'
}
compileJava.options.encoding = 'UTF-8'
// Environment variables for the build set by the build server
ext.buildNumber = System.env.BUILD_NUMBER ?: '0'
defaultTasks 'clean', 'build'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
2019-12-28 23:26:37 +01:00
archivesBaseName = 'griefdefender'
2019-11-19 19:11:47 +01:00
project.ext.getGitHash = {
def command = Runtime.getRuntime().exec("git rev-parse --short HEAD")
def result = command.waitFor()
return (result == 0) ? command.inputStream.text.trim() : "nogit"
}
repositories {
mavenLocal()
maven {
name = 'aikar'
url = 'https://repo.aikar.co/content/groups/aikar'
}
maven {
name = 'bstats'
url = 'https://repo.codemc.org/repository/maven-public'
}
maven {
name = 'dynmap-repo'
url = 'http://repo.mikeprimm.com'
}
2019-11-19 19:11:47 +01:00
maven {
name = 'essentials'
url = 'https://ci.ender.zone/plugin/repository/everything/'
}
maven {
name = 'griefdefender'
url = 'https://repo.glaremasters.me/repository/bloodshot'
}
maven {
name = 'jitpack'
url = 'https://jitpack.io'
}
maven {
name = 'permissionsex'
url = 'https://repo.glaremasters.me/repository/permissionsex'
}
maven {
name = 'placeholderapi'
url = 'http://repo.extendedclip.com/content/repositories/placeholderapi'
}
2019-11-19 19:11:47 +01:00
maven {
name = 'sk89q'
url = 'https://maven.sk89q.com/repo'
}
maven {
name = 'sonatype_releases'
url = 'https://oss.sonatype.org/content/repositories/releases'
}
maven {
name = 'spigot'
url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots'
}
maven {
name = 'sponge'
url = 'https://repo.spongepowered.org/maven/'
}
maven {
name = 'sonatype_snapshots'
url = 'https://oss.sonatype.org/content/repositories/snapshots'
}
maven {
name = 'worldedit'
url = 'http://maven.sk89q.com/artifactory/repo'
}
maven {
name = 'vault'
url = 'http://nexus.hc.to/content/repositories/pub_releases'
}
}
sourceSets {
api
}
dependencies {
compileOnly(project(path: ":GriefDefenderAPI"))
2020-01-10 01:53:00 +01:00
compile project (':common')
2019-11-19 19:11:47 +01:00
compileOnly "com.griefdefender:adapter:$adapterVersion"
compileOnly "com.griefdefender:reflect-helper:1.0"
// Bukkit
compileOnly "org.bukkit:bukkit:$spigotVersion"
compileOnly "org.spigotmc:spigot:$spigotVersion"
// Plugins
compileOnly "ca.stellardrift.permissionsex:permissionsex-bukkit:2.0-SNAPSHOT"
compileOnly "me.clip:placeholderapi:2.10.4"
2019-11-19 19:11:47 +01:00
compileOnly "net.ess3:EssentialsX:2.17.1"
compileOnly "net.milkbowl.vault:VaultAPI:1.7"
compileOnly "us.dynmap:dynmap-api:3.0-SNAPSHOT"
Update for 1.4.2 release. * Fix entity damage not passing source in all cases. * Fix vehicle destroy source. * Fix collision interactions being ignored. * Fix #vehicle context not being added on vehicle item use. * Fix 'any' context showing up as 'all'. * Fix context entity type format using '#' in front of name instead of modid. * Fix parent exit claim messages showing on subclaims. * Fix block-place using wrong target in some cases. * Fix NPE during chunk load on new world creation. * Fix claim resize/subdivide resetting on error. * Fix offline players not being found with some commands. * Fix NPE in migrator during claim migration of subclaims. * Fix accrued blocks not being set for players if value exceeded max during migration. * Fix playerdata migrate file not being created if parent folder did not exist. * Fix hover contexts for partial results in flag GUI. * Fix #pet tag not being formatted properly with contexts. * Fix entity-damage used_item context not being added. * Add new group context #hanging which represents hanging entities such as item frames. * Add lava source to fire-spread flag definition. * Add user context support for advanced flag GUI. * Add endercrystal-use and armorstand-use definitions. * Add entity-damage-source-blacklist. * Add active claim visual time to config. * Add tag support for used_item. * Add visual tracking for create block visuals. * (Bukkit) Add extra permission check when using item on a block. * Add gd_claim_override=claim context to water-flow flag definition. * Add new admin command '/abandonworld [<world>]' which will abandon all user claims in world specified. * Add support for world argument in commands '/abandonall', '/deleteall', and '/deletealladmin'. * Add MC 1.16.1 support. * Update kyori libraries to latest. * Don't process stair blocks on right-click. * Refactor ADMIN group handling in PRESET GUI. - All ADMIN flags will now be forced to claim only. - If you want to change flags globally then simply provide a default context in the definition which will be applied at startup. * Cleanup USER PRESET hover for normal users. * Improve persistent check done if a user is trusted. - Only non-claim owners that are trusted will have an additional permission check to see if an admin denied/allowed something via a flag not given by trust system. * (Hybrid) Add mod registry support for hybrid servers. * (Hybrid) Add mod category to 'global.conf' to identify fakeplayers and mod id's. * (Hybrid) Add initial fakeplayer support. * (Hybrid) Added pixelmon animal support. * (Hybrid) Added #pixelmon:animal tag for natural spawns. * Check user/group permission excluding default group before trust is checked. Note: This allows admins to allow/deny permissions while using trust. Note: Only '/cfp' and '/cfg' is supported. * Only check persistent permissions with overrides. * Change user context to support all claim types except wilderness. * Change global context to support all claim types including wilderness. * Rename /cfd command to /cfdebug to avoid accidental use. * Disable /cfdebug on logout.
2020-06-25 09:15:24 +02:00
compileOnly "com.github.lucko:luckperms:master-SNAPSHOT"
2019-11-19 19:11:47 +01:00
// Libs
compileOnly "aopalliance:aopalliance:1.0"
compileOnly "co.aikar:acf-core:0.5.0-SNAPSHOT"
compileOnly "co.aikar:acf-bukkit:0.5.0-SNAPSHOT"
compileOnly "co.aikar:acf-paper:0.5.0-SNAPSHOT"
compileOnly "co.aikar:acf-jda:0.5.0-SNAPSHOT"
compileOnly "co.aikar:locales:1.0-SNAPSHOT"
compileOnly "co.aikar:minecraft-timings:1.0.4"
compileOnly "co.aikar:Table:1.0.0-SNAPSHOT"
compileOnly "com.github.ben-manes.caffeine:caffeine:2.7.0"
compileOnly "com.flowpowered:flow-math:1.0.3"
compileOnly "com.google.inject:guice:4.1.0"
compileOnly "com.squareup.okhttp3:okhttp:4.7.2"
compileOnly "com.squareup.okio:okio:2.6.0"
2019-11-19 19:11:47 +01:00
compileOnly "com.typesafe:config:1.3.1"
compileOnly "commons-io:commons-io:2.6"
compileOnly "it.unimi.dsi:fastutil:8.2.3"
compileOnly "me.lucko:jar-relocator:1.3"
compileOnly "net.jodah:expiringmap:0.5.9"
compileOnly "org.apache.commons:commons-lang3:3.9"
compileOnly "org.checkerframework:checker:2.8.2"
compileOnly "org.jetbrains:annotations:17.0.0"
compileOnly "org.jetbrains.kotlin:kotlin-stdlib:1.3.72"
2019-11-19 19:11:47 +01:00
compileOnly "org.ow2.asm:asm-debug-all:5.2"
compileOnly "org.spongepowered:configurate-core:3.7-SNAPSHOT"
compileOnly "org.spongepowered:configurate-gson:3.7-SNAPSHOT"
compileOnly "org.spongepowered:configurate-hocon:3.7-SNAPSHOT"
compileOnly "org.spongepowered:configurate-yaml:3.7-SNAPSHOT"
compileOnly "net.kyori:event-api:3.0.0"
compileOnly "net.kyori:event-method:3.0.0"
compileOnly "net.kyori:event-method-asm:3.0.0"
compileOnly "net.kyori:text-adapter-bukkit:3.0.3"
compileOnly "net.kyori:text-adapter-bungeecord:3.0.3"
compileOnly "net.kyori:text-adapter-spongeapi:3.0.3"
compileOnly "net.kyori:text-api:3.0.2"
compileOnly "net.kyori:text-serializer-gson:3.0.2"
compileOnly "net.kyori:text-serializer-legacy:3.0.2"
compileOnly "net.kyori:text-serializer-plain:3.0.2"
}
jar {
manifest.attributes('Implementation-Title': 'GriefDefender')
manifest.attributes('Implementation-Version': "$version")
manifest.attributes('Git-Hash': project.ext.getGitHash())
classifier = 'SNAPSHOT'
baseName = 'griefdefender'
}
if (JavaVersion.current().isJava8Compatible()) {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives shadowJar
}
shadowJar {
classifier = ""
relocate("aopalliance", "com.griefdefender.lib.aopalliance")
relocate("com.github.benmanes.caffeine", "com.griefdefender.lib.caffeine")
relocate("com.google.inject", "com.griefdefender.lib.googleinject")
relocate("com.typesafe", "com.griefdefender.lib.typesafe")
relocate("javax.inject", "com.griefdefender.lib.javaxinject")
relocate("it.unimi.dsi", "com.griefdefender.lib.fastutil")
relocate("net.jodah", "com.griefdefender.lib.jodah")
relocate("ninja.leaping.configurate", "com.griefdefender.lib.configurate")
relocate("okhttp3", "com.griefdefender.lib.okhttp3")
relocate("okio", "com.griefdefender.lib.okio")
relocate("org.apache.commons.io", "com.griefdefender.lib.commonsio")
relocate("org.apache.commons.lang3", "com.griefdefender.lib.commonslang3")
relocate("org.checkerframework", "com.griefdefender.lib.checkerframework")
relocate("org.jetbrains", "com.griefdefender.lib.jetbrains")
exclude "dummyThing"
}