-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle.kts
70 lines (55 loc) · 2.76 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import xyz.srnyx.gradlegalaxy.enums.Repository
import xyz.srnyx.gradlegalaxy.enums.repository
import xyz.srnyx.gradlegalaxy.utility.addReplacementsTask
import xyz.srnyx.gradlegalaxy.utility.getDefaultReplacements
import xyz.srnyx.gradlegalaxy.utility.setupJava
plugins {
java
id("fabric-loom") version "1.9-SNAPSHOT"
id("xyz.srnyx.gradle-galaxy") version "1.3.3"
}
// Get Java version
val java = if (stonecutter.eval(stonecutter.current.version, ">=1.20.5")) JavaVersion.VERSION_21 else JavaVersion.VERSION_17
stonecutter.dependency("java", java.majorVersion)
val fullVersion = "${stonecutter.current.version}-${property("mod.version").toString()}"
setupJava("cc.aabss", fullVersion, "Alerting for Event Alerts Minecraft events", java)
repository("https://maven.shedaniel.me/", "https://maven.fabricmc.net/", "https://maven.terraformersmc.com/releases/", "https://maven.isxander.dev/releases/", "https://maven.nucleoid.xyz/")
repository(Repository.MAVEN_CENTRAL, Repository.JITPACK)
dependencies {
minecraft("com.mojang", "minecraft", property("deps.minecraft").toString())
mappings("net.fabricmc", "yarn", property("deps.yarn_mappings").toString())
modCompileOnly("net.fabricmc", "fabric-loader", property("deps.fabric_loader").toString())
modCompileOnly("net.fabricmc.fabric-api", "fabric-api", property("deps.fabric_api").toString())
modCompileOnly("dev.isxander", "yet-another-config-lib", property("deps.yacl").toString())
modCompileOnly("com.terraformersmc", "modmenu", property("deps.modmenu").toString())
include(implementation("club.bottomservices.git.nep", "DiscordRPC4j16", "1.2.2"))
}
// Add placeholder-api dependency if property exists
if (hasProperty("deps.placeholder_api")) dependencies.modCompileOnly("eu.pb4", "placeholder-api", property("deps.placeholder_api").toString())
// Replacements for fabric.mod.json and config.json
addReplacementsTask(setOf("fabric.mod.json"), getDefaultReplacements() + mapOf(
"mod_name" to property("mod.name").toString(),
"mod_version" to property("mod.version").toString(),
"deps_minecraft" to property("deps.minecraft").toString()))
base {
archivesName = rootProject.name
}
// Copy built jar to root project's build/libs
tasks.named("build") {
doLast {
val fileName = "${rootProject.name}-${fullVersion}.jar"
layout.projectDirectory.dir("build/libs").asFile.listFiles()
?.firstOrNull { it.name == fileName }
?.copyTo(layout.projectDirectory.dir("../../build/libs").asFile.resolve(fileName), true)
}
}
if (stonecutter.current.isActive) {
loom.runConfigs.all {
ideConfigGenerated(true)
runDir = "../../run"
}
rootProject.tasks.register("buildActive") {
group = "project"
dependsOn(tasks.named("build"))
}
}