-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
69 lines (67 loc) · 2.79 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
plugins {
id("fabric-loom")
id("com.modrinth.minotaur") version "2.+"
val kotlin_version: String by System.getProperties()
kotlin("jvm").version(kotlin_version)
}
base {
val archives_base_name: String by project
archivesName.set(archives_base_name)
}
val mod_version: String by project
version = mod_version
val maven_group: String by project
group = maven_group
repositories {
}
dependencies {
val minecraft_version: String by project
minecraft("com.mojang:minecraft:$minecraft_version")
val yarn_mappings: String by project
mappings("net.fabricmc:yarn:$yarn_mappings:v2")
val loader_version: String by project
modImplementation("net.fabricmc:fabric-loader:$loader_version")
val fabric_version: String by project
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabric_version")
val fabric_kotlin_version: String by project
modImplementation("net.fabricmc:fabric-language-kotlin:$fabric_kotlin_version")
}
tasks {
val javaVersion = JavaVersion.VERSION_21
withType<JavaCompile> {
options.encoding = "UTF-8"
sourceCompatibility = javaVersion.toString()
targetCompatibility = javaVersion.toString()
options.release.set(javaVersion.toString().toInt())
}
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions { jvmTarget = javaVersion.toString() }
}
jar { from("LICENSE") { rename { "${it}_${base.archivesName}" } } }
processResources {
inputs.property("version", project.version)
filesMatching("fabric.mod.json") { expand(mutableMapOf(
"version" to project.version,
"fabric_kotlin_version" to project.extra["fabric_kotlin_version"].toString(),
"minecraft_version" to project.extra["minecraft_version"].toString(),
"loader_version" to project.extra["loader_version"].toString(),
)) }
}
java {
toolchain { languageVersion.set(JavaLanguageVersion.of(javaVersion.toString())) }
sourceCompatibility = javaVersion
targetCompatibility = javaVersion
withSourcesJar()
}
}
modrinth {
token.set(System.getenv("MODRINTH_TOKEN")) // Remember to have the MODRINTH_TOKEN environment variable set or else this will fail - just make sure it stays private!
projectId.set(project.extra["modrinth_id"].toString()) // This can be the project ID or the slug. Either will work!
versionNumber.set(mod_version) // You don't need to set this manually. Will fail if Modrinth has this version already
uploadFile.set(tasks.remapJar) // With Loom, this MUST be set to `remapJar` instead of `jar`!
gameVersions.addAll(listOf(project.extra["minecraft_version"].toString()))
dependencies {
required.project("fabric-api")
required.project("fabric-language-kotlin")
}
}