mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-01 07:25:51 +00:00
add build script for nms add build script for core add build script for project move existing nms references to nms/v1_20_R1 add 1.19 and 1.20.2 compatibility
84 lines
2.9 KiB
Groovy
84 lines
2.9 KiB
Groovy
/*
|
|
* 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 <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
plugins {
|
|
id 'java'
|
|
id 'java-library'
|
|
id "io.freefair.lombok" version "6.3.0"
|
|
}
|
|
|
|
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"
|
|
}
|
|
|
|
/**
|
|
* 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
|
|
implementation 'org.spigotmc:spigot-api:1.20.1-R0.1-SNAPSHOT'
|
|
implementation 'org.apache.logging.log4j:log4j-api:2.19.0'
|
|
implementation 'org.apache.logging.log4j:log4j-core:2.19.0'
|
|
implementation 'commons-lang:commons-lang:2.6'
|
|
implementation 'com.github.oshi:oshi-core:5.8.5'
|
|
|
|
// Third Party Integrations
|
|
implementation 'com.ticxo.playeranimator:PlayerAnimator:R1.2.7'
|
|
implementation 'com.github.oraxen:oraxen:1.158.0'
|
|
implementation 'com.github.LoneDev6:api-itemsadder:3.4.1-r4'
|
|
implementation 'com.github.PlaceholderAPI:placeholderapi:2.11.3'
|
|
//implementation files('libs/CustomItems.jar')
|
|
}
|
|
|
|
|
|
/**
|
|
* 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()
|
|
)
|
|
}
|
|
}
|
|
|
|
tasks.compileJava.dependsOn(delombok) |