diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..2b2b335 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "GriefDefenderAPI"] + path = GriefDefenderAPI + url = https://github.com/bloodmc/GriefDefenderAPI diff --git a/GriefDefenderAPI b/GriefDefenderAPI new file mode 160000 index 0000000..2663329 --- /dev/null +++ b/GriefDefenderAPI @@ -0,0 +1 @@ +Subproject commit 2663329cb51dea48773aa2afd71e4d8732eec72d diff --git a/bukkit/build.gradle b/bukkit/build.gradle new file mode 100644 index 0000000..60faae1 --- /dev/null +++ b/bukkit/build.gradle @@ -0,0 +1,190 @@ +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' + +archivesBaseName = project.name.toLowerCase() + +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 = '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 = '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")) + 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 "net.ess3:EssentialsX:2.17.1" + compileOnly "net.milkbowl.vault:VaultAPI:1.7" + compileOnly "ca.stellardrift.permissionsex:permissionsex-bukkit:2.0-SNAPSHOT" + // 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:3.14.2" + compileOnly "com.squareup.okio:okio:2.2.2" + 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 "me.lucko.luckperms:luckperms-api:4.4" + 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.31" + 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" +} \ No newline at end of file diff --git a/bukkit/src/main/java/com/griefdefender/provider/permissionsex/PermissionsExProvider.java b/bukkit/src/main/java/com/griefdefender/provider/permissionsex/PermissionsExProvider.java index 959c21f..77d41d0 100644 --- a/bukkit/src/main/java/com/griefdefender/provider/permissionsex/PermissionsExProvider.java +++ b/bukkit/src/main/java/com/griefdefender/provider/permissionsex/PermissionsExProvider.java @@ -422,7 +422,7 @@ public class PermissionsExProvider implements PermissionProvider { @Override public void refreshCachedData(GDPermissionHolder holder) { - holderToPEXSubject(holder).clearCache(null); + holderToPEXSubject(holder).accept(null); } } diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..7f4c986 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,9 @@ +name=GriefDefender +group=com.griefdefender +url=https://github.com/bloodmc/GriefDefender +version=1.2.2 +adapterVersion=1.14.4-20191030.135735-19 +apiVersion=1.0.0-20190906.173641-10 +spigotVersion=1.14.4-R0.1-SNAPSHOT + +org.gradle.jvmargs=-Xmx3G \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..87e30e7 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,2 @@ +include "bukkit" +include "GriefDefenderAPI" \ No newline at end of file