/* * Iris is a World Generator for Minecraft Bukkit Servers * Copyright (c) 2021 Arcane Arts (Volmit Software) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ plugins { id 'java' id 'java-library' id "io.freefair.lombok" version "8.6" } def apiVersion = '1.19' def main = 'com.volmit.iris.Iris' /** * We need parameter meta for the decree command system */ compileJava { options.compilerArgs << '-parameters' options.encoding = "UTF-8" } repositories { maven { url 'https://nexus.phoenixdevt.fr/repository/maven-public/'} maven { url 'https://repo.auxilor.io/repository/maven-public/' } } /** * Dependencies. * * Provided or classpath dependencies are not shaded and are available on the runtime classpath * * Shaded dependencies are not available at runtime, nor are they available on mvn central so they * need to be shaded into the jar (increasing binary size) * * Dynamically loaded dependencies are defined in the plugin.yml (updating these must be updated in the * plugin.yml also, otherwise they wont be available). These do not increase binary size). Only declare * these dependencies if they are available on mvn central. */ dependencies { // Provided or Classpath compileOnly 'org.spigotmc:spigot-api:1.20.1-R0.1-SNAPSHOT' compileOnly 'org.apache.logging.log4j:log4j-api:2.19.0' compileOnly 'org.apache.logging.log4j:log4j-core:2.19.0' compileOnly 'commons-io:commons-io:2.13.0' compileOnly 'commons-lang:commons-lang:2.6' compileOnly 'com.github.oshi:oshi-core:5.8.5' compileOnly 'org.lz4:lz4-java:1.8.0' // Third Party Integrations compileOnly 'com.ticxo.playeranimator:PlayerAnimator:R1.2.7' compileOnly 'com.nexomc:nexo:1.6.0' compileOnly 'com.github.LoneDev6:api-itemsadder:3.4.1-r4' compileOnly 'com.github.PlaceholderAPI:placeholderapi:2.11.3' compileOnly 'com.github.Ssomar-Developement:SCore:4.23.10.8' compileOnly 'net.Indyuce:MMOItems-API:6.9.5-SNAPSHOT' compileOnly 'com.willfp:EcoItems:5.44.0' //implementation files('libs/CustomItems.jar') } java { disableAutoTargetJvm() } /** * Gradle is weird sometimes, we need to delete the plugin yml from the build folder to actually filter properly. */ file(jar.archiveFile.get().getAsFile().getParentFile().getParentFile().getParentFile().getAbsolutePath() + '/build/resources/main/plugin.yml').delete() /** * Expand properties into plugin yml */ processResources { filesMatching('**/plugin.yml') { expand( 'name': rootProject.name.toString(), 'version': rootProject.version.toString(), 'main': main.toString(), 'apiversion': apiVersion.toString() ) } }