forked from lukasabbe/bookshelf-inspector
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
102 lines (85 loc) · 3.09 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
plugins {
id("fabric-loom") version "1.8-SNAPSHOT"
}
version = project.property("mod_version") as String
group = project.property("maven_group") as String
val MOD_VERSION = project.property("mod_version")
val ARCHIVE_NAME = project.property("archives_base_name")
val COMPATIBLE_VERSIONS = "[1.21.4, 1.22)"
base {
archivesName.set(project.property("archives_base_name") as String)
}
loom {
accessWidenerPath = file("src/main/resources/chiseled-bookshelf-visualizer.accesswidener")
}
repositories {
maven {
name = "Mod Menu"
url = uri("https://maven.terraformersmc.com/")
}
maven {
name = "WispForest"
url = uri("https://maven.wispforest.io/releases")
}
}
dependencies {
minecraft("com.mojang:minecraft:${project.property("minecraft_version")}")
mappings("net.fabricmc:yarn:${project.property("yarn_mappings")}:v2")
modImplementation("net.fabricmc:fabric-loader:${project.property("loader_version")}")
modImplementation("net.fabricmc.fabric-api:fabric-api:${project.property("fabric_version")}")
val apiModules = listOf(
"fabric-api-base",
"fabric-networking-api-v1",
"fabric-lifecycle-events-v1",
"fabric-resource-loader-v0",
"fabric-client-tags-api-v1",
"fabric-convention-tags-v2"
)
apiModules.forEach {
modImplementation(fabricApi.module(it, project.property("fabric_version") as String))
}
modLocalRuntime("com.terraformersmc:modmenu:${project.property("modmenu_version")}")
modImplementation(annotationProcessor("io.wispforest:owo-lib:${project.property("owo_version")}")!!)
include("io.wispforest:owo-sentinel:${project.property("owo_version")}")
include(implementation("com.github.fracpete:romannumerals4j:0.0.1")!!)
}
tasks.processResources {
inputs.property("version", project.version)
inputs.property("minecraft_version", project.property("minecraft_version"))
inputs.property("loader_version", project.property("loader_version"))
filteringCharset = "UTF-8"
filesMatching("fabric.mod.json") {
expand(
"version" to project.version,
"minecraft_version" to project.property("minecraft_version"),
"loader_version" to project.property("loader_version")
)
}
}
val targetJavaVersion = 21
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible) {
options.release.set(targetJavaVersion)
}
}
java {
val javaVersion = JavaVersion.toVersion(targetJavaVersion)
if (JavaVersion.current() < javaVersion) {
toolchain.languageVersion.set(JavaLanguageVersion.of(targetJavaVersion))
}
withSourcesJar()
}
tasks.jar {
from("LICENSE") {
rename { "${it}_${base.archivesName.get()}" }
}
}
tasks.register("printEnv") {
doLast {
val envFile = File(System.getenv("GITHUB_ENV"))
envFile.appendText("MOD_VERSION=$MOD_VERSION\n")
envFile.appendText("RELEASE_NAME=$ARCHIVE_NAME-$MOD_VERSION\n")
envFile.appendText("GAME_VERSIONS=$COMPATIBLE_VERSIONS\n")
}
}