From a8901d6fb8f980c060e1988295c18ae3db424a36 Mon Sep 17 00:00:00 2001 From: CloudlyBot | Argantiu <114483978+CloudlyBot@users.noreply.github.com> Date: Sun, 23 Apr 2023 15:21:48 +0200 Subject: [PATCH] Update build.gradle --- build.gradle | 197 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 133 insertions(+), 64 deletions(-) diff --git a/build.gradle b/build.gradle index 588db04..1392bd6 100644 --- a/build.gradle +++ b/build.gradle @@ -1,77 +1,150 @@ -import org.apache.tools.ant.filters.ReplaceTokens - plugins { - id "com.github.johnrengelman.shadow" version "8.1.1" - id "io.freefair.lombok" version "8.0.1" - id "java" + id 'com.github.johnrengelman.shadow' version '8.1.1' + id 'kr.entree.spigradle' version '2.4.3' + id 'io.freefair.lombok' version '6.6.3' + id 'java' + id 'jacoco' } -//sourceCompatibility = 17 -//targetCompatibility = 17 - -group = "de.butzlabben" -version = "2.4.34" -description = "WorldSystem is a world creator that allows you to easily create per player worlds" +sourceCompatibility = 17 +targetCompatibility = 17 ext { - mcVersion = ("mcVersion") + mcVersion = "1.19.4" } +archivesBaseName = "WorldSystem" -java { - withJavadocJar() - withSourcesJar() +spigot { +group "de.butzlabben" +name = "WorldSystem" +authors = [" Trainerlord, Butzlabben & CrazyCloudCraft "] +apiVersion = "1.13" +depends = ['Vault, WorldEdit'] +load = STARTUP + commands { + "ws" { + description = 'All WorldSystem Commands' + permissionMessage = 'You do not have permission!' + } + } + permissions { + 'ws.*' { + description = 'gives all Perms' + defaults = 'op' + children = [ + 'ws.tp.*':true, + 'ws.get':true, + 'ws.sethome':true, + 'ws.tp.world':true, + 'ws.tp.toother':true, + 'ws.tp.other':true, + 'ws.build':true, + 'ws.gamemode':true, + 'ws.delete':true, + 'ws.lag':true, + 'ws.big':true, + 'ws.large':true, + //'ws.confirm':true + ] + } + 'ws.sethome' { + description = 'You can set a different worldspawn' + defaults = true + } + 'ws.tp' { + description = 'You can teleport everything' + defaults = 'op' + children = ['ws.tp.toother':true,'ws.tp.other':true,'ws.tp.world':true] + } + 'ws.build' { + description = 'You can build on other Worlds without WorldPermissions' + defaults = 'op' + } + 'ws.get' { + description = 'You can create a world via /ws get' + defaults = true + } + 'ws.delete' { + description = 'You can delete a world' + defaults = 'op' + } + 'ws.gamemode' { + description = 'You can change GameMode on other worlds' + defaults = 'op' + } + 'ws.tp.other' { + description = 'You can teleport other persons' + defaults = 'op' + } + 'ws.tp.toother' { + description = 'You can teleport across worlds' + defaults = 'op' + } + 'ws.tp.world' { + description = 'You can teleport to without rights World' + defaults = 'op' + } + 'ws.lag' { + description = 'You can see lag messages' + defaults = 'op' + } + 'ws.big' { + description = 'Gives you a bigger world (if set)' + defaults = 'op' + } + 'ws.large' { + defaults = 'op' + children = ['ws.big':true] + /*} + 'ws.confirm' { + description = 'You can confirm (if needed) an auto-update' + defaults = 'op'*/ + } + } } -archivesBaseName = ("pluginName") - repositories { mavenCentral() - maven { url "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" } - maven { url "https://papermc.io/repo/repository/maven-public/" } + maven { url "https://hub.spigotmc.org/nexus/content/repositories/public/" } maven { url "https://repo.extendedclip.com/content/repositories/placeholderapi/" } - maven { url "https://jitpack.io" } - maven { url "https://mvn.intellectualsites.com/content/repositories/releases/" } maven { url "https://ci.athion.net/job/FastAsyncWorldEdit/ws" } + maven { url "https://jitpack.io" } + maven { url "https://libraries.minecraft.net" } maven { url "https://repo.onarandombox.com/content/groups/public/" } - maven { url "https://maven.enginehub.org/repo/"} + maven { url "https://maven.enginehub.org/repo/" } maven { url "https://ci.athion.net/job/FastAsyncWorldEdit/changes/" } - maven { url "https://mvnrepository.com/artifact/commons-io/commons-io/" } + maven { url "https://mvnrepository.com/artifact/commons-io/commons-io/" } // Commons - IO + maven { url "https://maven.enginehub.org/repo/" } // WorldEdit + maven { url "https://mvn.intellectualsites.com/content/repositories/releases/" } } - + dependencies { - //compileOnly spigot('1.19.4') - //compileOnly lombok() - //annotationProcessor lombok() - implementation("io.papermc:paperlib:1.0.7") implementation("org.yaml:snakeyaml:2.0") - implementation("net.kyori:adventure-text-minimessage:4.13.1") - implementation('org.bstats:bstats-bukkit:3.0.0') - compileOnly("org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT") - compileOnly("com.github.MilkBowl:VaultAPI:1.7.1") - compileOnly("me.clip:placeholderapi:2.11.3") - compileOnly("org.jetbrains:annotations:23.0.0") - compileOnly('com.mojang:authlib:1.5.25') - compileOnly('org.projectlombok:lombok:1.18.26') - compileOnly("com.sk89q.worldedit:worldedit-bukkit:7.2.14-SNAPSHOT") - compileOnly("com.sk89q.worldedit:worldedit-core:7.2.14-SNAPSHOT") - compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.6.0") - compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.6.0") - + implementation("net.kyori:adventure-text-minimessage:4.12.0") + compileOnly lombok() + annotationProcessor lombok() //Test dependencies testImplementation 'org.junit.jupiter:junit-jupiter:5.+' testImplementation "org.mockito:mockito-core:5.+" testImplementation 'org.assertj:assertj-core:3.+' - //testImplementation lombok() - //testAnnotationProcessor lombok() + testImplementation lombok() + testAnnotationProcessor lombok() implementation group: 'commons-io', name: 'commons-io', version: '2.11.0' -} + compileOnly("me.clip:placeholderapi:2.11.3") + compileOnly("com.github.MilkBowl:VaultAPI:1.7.1") + compileOnly("com.mojang:authlib:1.5.26") + compileOnly("org.projectlombok:lombok:1.18.26") + compileOnly("org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT") + compileOnly("com.sk89q.worldedit:worldedit-bukkit:7.2.14-SNAPSHOT") + compileOnly("com.sk89q.worldedit:worldedit-core:7.2.14-SNAPSHOT") + compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.6.0") + compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.6.0") +} shadowJar { minimize() archiveFileName.set("${project.name}-${project.version}.jar") } - - javadoc { options.links( 'https://javadoc.io/static/org.jetbrains/annotations/20.1.0/', @@ -82,7 +155,19 @@ javadoc { include("**/api/*") destinationDir = new File("build/javadocs") } +processResources { + project.properties.put("version", this.version) + expand project.properties + from(sourceSets.main.resources.srcDirs) { + duplicatesStrategy DuplicatesStrategy.INCLUDE + } +} +tasks.withType(JavaCompile) { + options.encoding = 'UTF-8' + options.compilerArgs += ["-parameters"] + options.fork = true +} test { useJUnitPlatform() testLogging { @@ -90,22 +175,6 @@ test { } ignoreFailures = false } -processResources { - project.properties.put("version", this.version) - expand project.properties - from(sourceSets.main.resources.srcDirs) { - duplicatesStrategy DuplicatesStrategy.INCLUDE - filter ReplaceTokens, tokens: [version: version] - } -} - -java.sourceCompatibility = JavaVersion.VERSION_17 - -tasks.withType(JavaCompile) { - options.encoding = 'UTF-8' - options.compilerArgs += ["-parameters"] - options.fork = true - //options.forkOptions.executable = 'javac' -} - tasks.build.dependsOn tasks.shadowJar + +defaultTasks 'build'