cauldron-dyeing/build.gradle
tibs e7ce0084ca
Improve gradle
Mostly taken from Quilt's template mod.

- No longer JIJs FAPI
- Update gradle wrapper
2022-06-09 08:59:05 -04:00

88 lines
2 KiB
Groovy

plugins {
alias(libs.plugins.fabric.loom)
alias(libs.plugins.loom.quiltflower)
alias(libs.plugins.qmol)
alias(libs.plugins.grgit)
}
archivesBaseName = project.archives_base_name
version = "${project.mod_version}+${getMetadata()}"
group = project.maven_group
repositories {
maven {
name = 'Modrinth'
url = 'https://api.modrinth.com/maven'
content {
includeGroup 'maven.modrinth'
}
}
}
dependencies {
minecraft libs.minecraft
mappings loom.layered {
addLayer quiltMappings.mappings("org.quiltmc:quilt-mappings:${libs.versions.quilt.mappings.get()}:v2")
}
modImplementation libs.fabric.loader
modImplementation libs.fabric.api
modCompileOnly libs.sodium
}
processResources {
inputs.property 'version', project.version
filteringCharset 'UTF-8'
filesMatching('fabric.mod.json') {
expand 'version': project.version
}
}
tasks.withType(JavaCompile) {
it.options.encoding = 'UTF-8'
// Minecraft 1.18 (1.18-pre2) upwards uses Java 17.
it.options.release = 17
}
java {
// Still required by IDEs such as Eclipse and Visual Studio Code
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
withSourcesJar()
}
jar {
from('LICENSE') {
rename { "${it}_${project.archivesBaseName}"}
}
}
def getMetadata() {
def build_id = System.getenv('GITHUB_RUN_NUMBER')
def workflow_id = System.getenv('GITHUB_WORKFLOW')
def metadata = libs.versions.minecraft.get()
// Release builds only
if (workflow_id == 'build-release') {
return metadata
}
if (build_id != null) {
metadata += "-build.${build_id}"
} else if (grgit != null) {
def head = grgit.head()
def id = head.abbreviatedId
// Flag the build if the build tree is not clean
if (!grgit.status().clean) {
id += '-dirty'
}
metadata += "-${id}"
}
return metadata
}