124 lines
3.2 KiB
Groovy
124 lines
3.2 KiB
Groovy
import java.nio.file.Paths
|
|
|
|
plugins {
|
|
id 'fabric-loom' version "$loom_version"
|
|
id 'com.github.gmazzo.buildconfig' version "$buildconfig_version"
|
|
}
|
|
|
|
var USING_GIT = Paths.get(System.getProperty("user.dir")).resolve(".git").toFile().exists()
|
|
var GIT_HASH = execute("git rev-parse --short HEAD")
|
|
|
|
version = project.mod_version
|
|
group = project.maven_group
|
|
|
|
buildConfig {
|
|
buildConfigField(String, "NAME", project.mod_name)
|
|
buildConfigField(String, "GROUP", project.group)
|
|
buildConfigField(String, "VERSION", project.mod_version)
|
|
buildConfigField(String, "BUILD_TIME", "${new Date(System.currentTimeMillis()).format("MM/dd/yyyy HH:mm")}")
|
|
buildConfigField(Boolean, "USING_GIT", USING_GIT)
|
|
buildConfigField(String, "HASH", GIT_HASH)
|
|
buildConfigField(String, "BRANCH", "${execute("git branch --show-current")}")
|
|
|
|
packageName "${project.group}.util"
|
|
useJavaOutput()
|
|
generateAtSync = true
|
|
}
|
|
|
|
sourceSets.main.java.srcDirs += "build/gen/buildconfig/src/main"
|
|
|
|
base {
|
|
archivesName = "${project.archives_base_name}-${GIT_HASH}"
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
|
|
maven {
|
|
url "https://jitpack.io"
|
|
}
|
|
|
|
maven {
|
|
name = "meteor-maven"
|
|
url = "https://maven.meteordev.org/releases"
|
|
}
|
|
}
|
|
|
|
loom {
|
|
accessWidenerPath = file("src/main/resources/nolongerhuman.accesswidener")
|
|
}
|
|
|
|
dependencies {
|
|
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
|
mappings loom.officialMojangMappings()
|
|
|
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
|
|
|
// Fabric API
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
|
|
|
// Discord RPC / IPC
|
|
include implementation("meteordevelopment:discord-ipc:1.1")
|
|
|
|
include implementation("com.github.cattyngmd.catformat:catformat-core:${project.catformat_version}")
|
|
include modImplementation("com.github.cattyngmd.catformat:catformat-fabric:${project.catformat_version}")
|
|
}
|
|
|
|
processResources {
|
|
inputs.property "version", project.version
|
|
inputs.property "minecraft_version", project.minecraft_version
|
|
inputs.property "loader_version", project.loader_version
|
|
|
|
filteringCharset "UTF-8"
|
|
|
|
filesMatching("fabric.mod.json") {
|
|
expand "version": project.version,
|
|
"minecraft_version": project.minecraft_version,
|
|
"loader_version": project.loader_version
|
|
}
|
|
}
|
|
|
|
def targetJavaVersion = 21
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
it.options.encoding = "UTF-8"
|
|
|
|
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
|
|
it.options.release = targetJavaVersion
|
|
}
|
|
}
|
|
|
|
java {
|
|
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
|
|
|
|
if (JavaVersion.current() < javaVersion) {
|
|
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
|
|
}
|
|
|
|
withSourcesJar()
|
|
}
|
|
|
|
sourcesJar {
|
|
dependsOn(generateBuildConfig)
|
|
}
|
|
|
|
jar {
|
|
from("LICENSE") {
|
|
rename { "${it}_${archives_base_name}" }
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
dependsOn(generateBuildConfig)
|
|
}
|
|
|
|
def execute(String cmd) {
|
|
var output = providers.exec {
|
|
commandLine cmd.split(" ")
|
|
ignoreExitValue = true
|
|
}
|
|
|
|
return output.standardOutput.getAsText().getOrElse("nogit")
|
|
.replaceAll("\n", "")
|
|
}
|