LuckPerms/fabric/build.gradle

98 lines
3.2 KiB
Groovy

import net.fabricmc.loom.task.RemapJarTask
plugins {
id 'com.github.johnrengelman.shadow' version '4.0.1'
id 'fabric-loom' version '0.6-SNAPSHOT'
}
archivesBaseName = 'luckperms'
repositories {
maven { url 'https://maven.fabricmc.net/' }
mavenLocal()
}
def minecraftVersion = '1.16.4'
def yarnBuild = 7
def loaderVersion = '0.10.8'
def fabricApiVersion = '0.28.4+1.16'
dependencies {
// Fabric Stuff, We don't specifically target only a single version but yarn mappings require a version to be specified.
minecraft "com.mojang:minecraft:${minecraftVersion}"
mappings "net.fabricmc:yarn:${minecraftVersion}+build.${yarnBuild}:v2"
modImplementation "net.fabricmc:fabric-loader:${loaderVersion}"
Set<String> apiModules = [
'fabric-api-base',
'fabric-command-api-v1',
'fabric-lifecycle-events-v1',
'fabric-networking-api-v1'
]
apiModules.forEach {
modImplementation(fabricApi.module(it, fabricApiVersion))
}
include(modImplementation('me.lucko:fabric-permissions-api:0.1-SNAPSHOT'))
compile project(':common')
}
processResources {
inputs.property 'version', project.ext.fullVersion
from(sourceSets.main.resources.srcDirs) {
include 'fabric.mod.json'
expand 'version': project.ext.fullVersion
}
from(sourceSets.main.resources.srcDirs) {
exclude 'fabric.mod.json'
}
}
shadowJar {
archiveName = "luckpermsfabric-${project.ext.fullVersion}-dev.jar"
dependencies {
exclude('net.fabricmc:.*')
include(dependency('net.luckperms:.*'))
include(dependency('me.lucko.luckperms:.*'))
// We don't want to include the mappings in the jar do we?
exclude '/mappings/*'
}
relocate 'net.kyori.adventure', 'me.lucko.luckperms.lib.adventure'
relocate 'net.kyori.event', 'me.lucko.luckperms.lib.eventbus'
relocate 'com.github.benmanes.caffeine', 'me.lucko.luckperms.lib.caffeine'
relocate 'okio', 'me.lucko.luckperms.lib.okio'
relocate 'okhttp3', 'me.lucko.luckperms.lib.okhttp3'
relocate 'net.bytebuddy', 'me.lucko.luckperms.lib.bytebuddy'
relocate 'me.lucko.commodore', 'me.lucko.luckperms.lib.commodore'
relocate 'org.mariadb.jdbc', 'me.lucko.luckperms.lib.mariadb'
relocate 'com.mysql', 'me.lucko.luckperms.lib.mysql'
relocate 'org.postgresql', 'me.lucko.luckperms.lib.postgresql'
relocate 'com.zaxxer.hikari', 'me.lucko.luckperms.lib.hikari'
relocate 'com.mongodb', 'me.lucko.luckperms.lib.mongodb'
relocate 'org.bson', 'me.lucko.luckperms.lib.bson'
relocate 'redis.clients.jedis', 'me.lucko.luckperms.lib.jedis'
relocate 'com.rabbitmq', 'me.lucko.luckperms.lib.rabbitmq'
relocate 'org.apache.commons.pool2', 'me.lucko.luckperms.lib.commonspool2'
relocate 'ninja.leaping.configurate', 'me.lucko.luckperms.lib.configurate'
}
task remappedShadowJar(type: RemapJarTask) {
dependsOn tasks.shadowJar
input = tasks.shadowJar.archivePath
addNestedDependencies = true
archiveName = "LuckPerms-Fabric-${project.ext.fullVersion}.jar"
}
tasks.assemble.dependsOn tasks.remappedShadowJar
artifacts {
archives remappedShadowJar
shadow shadowJar
}