-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.gradle
104 lines (91 loc) · 3.99 KB
/
build.gradle
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
103
104
subprojects {
apply plugin: "java"
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
// java.withSourcesJar()
// java.withJavadocJar()
archivesBaseName = "${mod_name}-${project.name.toLowerCase()}-${minecraft_version}"
jar {
// from(rootProject.file("LICENSE")) {
// rename { "${it}_${mod_name}" }
// }
manifest {
attributes([
"Specification-Title" : mod_name,
"Specification-Vendor" : "Alpvax",
"Specification-Version" : project.jar.archiveVersion,
"Implementation-Title" : "${mod_id}-${project.name.toLowerCase()}",
"Implementation-Version" : project.jar.archiveVersion,
"Implementation-Vendor" : "Alpvax",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
"Timestamp" : System.currentTimeMillis(),
"Built-On-Java" : "${System.getProperty("java.vm.version")} (${System.getProperty("java.vm.vendor")})",
"Built-On-Minecraft" : minecraft_version
])
}
}
// This block of code expands all declared replace properties in the specified resource targets.
// A missing property will result in an error. Properties are expanded using ${} Groovy notation.
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments.
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
tasks.named("processResources", ProcessResources).configure {
if (project.hasProperty("dependantProjects")) {
project.findProperty("dependantProjects").forEach {
from it.sourceSets.main.resources
}
}
var replaceProperties = [
minecraft_version: minecraft_version, minecraft_version_range: minecraft_version_range,
packmeta_version: packmeta_version,
mod_id: mod_id, mod_name: mod_name, mod_version: version, mod_author: mod_author,
github: github, forge_curse: forge_curse, fabric_curse: fabric_curse,
forge_version: forge_version, forge_version_range: forge_version_range,
loader_version_range: loader_version_range,
fabric_version: fabric_version, fabric_loader_version: fabric_loader_version,
loom_version: loom_version,
//mod_license: mod_license,
//mod_authors: mod_authors, mod_description: mod_description,
]
filesMatching(["META-INF/mods.toml", "pack.mcmeta", "fabric.mod.json"]) {
expand replaceProperties + [project: project]
}
// from project(":Common").sourceSets.main.resources
}
// sourcesJar {
// from(rootProject.file("LICENSE")) {
// rename { "${it}_${mod_name}" }
// }
// }
repositories {
mavenCentral()
maven {
name = "Curse Maven"
url = "https://cursemaven.com"
}
maven {
name = "Terraformers"
url = "https://maven.terraformersmc.com/"
}
maven {
name = "Parchment"
url = "https://maven.parchmentmc.org"
}
// maven {
// name = "Sponge / Mixin"
// url = "https://repo.spongepowered.org/repository/maven-public/"
// }
// maven {
// name = "BlameJared Maven (CrT / Bookshelf)"
// url = "https://maven.blamejared.com"
// }
}
tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
it.options.release = 17
}
// 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
}
}