-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathbuild.gradle.kts
75 lines (65 loc) · 2.6 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
// From gradle.properties
val modName: String by extra
val modAuthor: String by extra
val modId: String by extra
val modGroup: String by extra
val modIssueUrl: String by extra
val modHomeUrl: String by extra
val modDescription: String by extra
val modJavaVersion: String by extra
val modVersion: String = System.getenv("VERSION") ?: "0.0.0-indev"
val minecraftVersion: String by extra
val minecraftVersionRange: String by extra
val forgeVersion: String by extra
val forgeVersionRange: String by extra
val parchmentVersion: String by extra
val fabricVersion: String by extra
val fabricVersionRange: String by extra
val fabricLoaderVersion: String by extra
val fabricLoaderVersionRange: String by extra
val epsilonVersion: String by extra
subprojects {
version = modVersion
group = modGroup
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
options.release.set(JavaLanguageVersion.of(modJavaVersion).asInt())
}
tasks.withType<Jar> {
manifest {
attributes(mapOf(
"Implementation-Title" to modName,
"Implementation-Version" to modVersion,
"Implementation-Vendor" to modAuthor,
))
}
}
// Apply properties from gradle.properties to mod specific files, meaning they don't need to be changed on version update.
tasks.withType<ProcessResources> {
filesMatching(listOf("META-INF/mods.toml", "pack.mcmeta", "fabric.mod.json")) {
expand(mapOf(
"modName" to modName,
"modAuthor" to modAuthor,
"modId" to modId,
"modGroup" to modGroup,
"modIssueUrl" to modIssueUrl,
"modHomeUrl" to modHomeUrl,
"modDescription" to modDescription,
"modJavaVersion" to modJavaVersion,
"modVersion" to modVersion,
"minecraftVersion" to minecraftVersion,
"minecraftVersionRange" to minecraftVersionRange,
"forgeVersion" to forgeVersion,
"forgeVersionRange" to forgeVersionRange,
"fabricVersion" to fabricVersion,
"fabricVersionRange" to fabricVersionRange,
"fabricLoaderVersion" to fabricLoaderVersion,
"fabricLoaderVersionRange" to fabricLoaderVersionRange,
))
}
}
// Disables Gradle's custom module metadata from being published to maven. The metadata includes mapped dependencies which are not reasonably consumable by other mod developers.
tasks.withType<GenerateModuleMetadata> {
enabled = false
}
}