ViaFabricPlus/build.gradle
2023-04-10 18:47:43 +02:00

120 lines
3.3 KiB
Groovy

plugins {
id "fabric-loom" version "1.1-SNAPSHOT"
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
configurations {
implementation.extendsFrom libs
api.extendsFrom libs
}
allprojects {
repositories {
mavenCentral()
maven {
name = "Jitpack"
url = "https://jitpack.io"
}
maven {
name = "ViaVersion"
url = "https://repo.viaversion.com"
}
maven {
name = "Lenni0451 releases"
url = "https://maven.lenni0451.net/releases"
}
maven {
name = "Lenni0451 snapshots"
url = "https://maven.lenni0451.net/snapshots"
}
maven {
name = "TerraformersMC"
url = "https://maven.terraformersmc.com/releases"
}
maven {
name = "OpenCollab Snapshots"
url = "https://repo.opencollab.dev/maven-snapshots/"
}
}
}
loom {
accessWidenerPath = file("src/main/resources/viafabricplus.accesswidener")
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
libs "com.github.FlorianMichael:ViaLoadingBase:${project.vialoadingbase_version}"
libs("org.cloudburstmc.netty:netty-transport-raknet:${project.raknet_transport_version}") {
exclude group: "io.netty", module: "netty-common"
exclude group: "io.netty", module: "netty-buffer"
exclude group: "io.netty", module: "netty-codec"
exclude group: "io.netty", module: "netty-transport"
}
libs "com.viaversion:viaversion:${project.viaversion_version}"
libs "com.viaversion:viabackwards-common:${project.viabackwards_version}"
libs "org.yaml:snakeyaml:${project.snake_yml_version}"
libs "net.raphimc:ViaLegacy:${project.vialegacy_version}"
libs "net.raphimc:ViaAprilFools:${project.viaaprilfools_version}"
libs ("net.raphimc:ViaBedrock:${project.viabedrock_version}") {
exclude group: "io.jsonwebtoken", module: "jjwt-api"
exclude group: "io.jsonwebtoken", module: "jjwt-impl"
exclude group: "io.jsonwebtoken", module: "jjwt-gson"
}
libs "io.netty:netty-codec-http:${project.netty_codec_http_version}" // Some people don't know how to define dependencies properly in a build.gradle
libs ("net.raphimc:MinecraftAuth:${project.minecraftauth_version}") {
exclude group: "com.google.code.gson", module: "gson"
exclude group: "org.slf4j", module: "slf4j-api"
}
libs "net.lenni0451.mcstructs:text:${project.mcstructs_text_version}"
libs "net.lenni0451:Reflect:${project.reflect_version}"
libs "com.github.allinkdev:BetacraftServerListParser:${project.betacraft_version}"
modImplementation "com.terraformersmc:modmenu:${project.mod_menu_version}"
}
processResources {
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
tasks.withType(JavaCompile).configureEach {
it.options.release = 17
}
java {
withSourcesJar()
}
jar {
dependsOn configurations.libs
from {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
configurations.libs.collect {
zipTree(it)
}
} {
exclude "META-INF/*.RSA", "META-INF/*.SF", "META-INF/*.DSA"
}
from("LICENSE") { rename { "${it}_${project.archivesBaseName}" } }
}