-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
99 lines (78 loc) · 3.04 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
plugins {
id "architectury-plugin" version "3.4-SNAPSHOT"
id "io.github.pacifistmc.forgix" version "1.2.6"
id "dev.architectury.loom" version "1.3-SNAPSHOT" apply false
id "org.sonarqube" version "4.4.1.3373"
}
architectury {
minecraft = rootProject.minecraft_version
}
forgix {
group = "net.superricky.tpaplusplus"
mergedJarName = "TPA++ - " + rootProject.mod_version + ".jar"
quilt {
}
}
// When this is run, it will automagically fill out our mod version from gradle.properties! So now I only need to update this shit in one place
tasks.register('replaceVersionToken') {
// Ensure the 'mod_version' property is loaded from gradle.properties
def modVersion = rootProject.hasProperty('mod_version') ? rootProject.property('mod_version') : "UNKNOWN"
def file = file("common/src/main/java/net/superricky/tpaplusplus/TPAPlusPlus.java")
def content = file.getText('UTF-8')
// Define the pattern to find and replace
def versionPattern = 'public static final String MOD_VERSION = ".*";'
def updatedContent = content.replaceAll(versionPattern, 'public static final String MOD_VERSION = "' + modVersion + '";')
file.write(updatedContent, 'UTF-8')
}
subprojects {
apply plugin: "dev.architectury.loom"
loom {
silentMojangMappingsLicense()
}
dependencies {
minecraft "com.mojang:minecraft:${rootProject.minecraft_version}"
// The following line declares the mojmap mappings, you may use other mappings as well
//mappings loom.officialMojangMappings()
// Use mojmap with ParchmentMC
mappings loom.layered() {
officialMojangMappings()
parchment("org.parchmentmc.data:parchment-1.20.1:2023.09.03@zip")
}
api "fuzs.forgeconfigapiport:forgeconfigapiport-common:8.0.0"
// The following line declares the yarn mappings you may select this one as well.
// mappings "net.fabricmc:yarn:1.20.1+build.10:v2"
}
}
allprojects {
apply plugin: "java"
apply plugin: "architectury-plugin"
apply plugin: "maven-publish"
replaceVersionToken
base {
archivesName = rootProject.archives_base_name
}
version = rootProject.mod_version
group = rootProject.maven_group
repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
maven {
name = 'ParchmentMC'
url = 'https://maven.parchmentmc.org'
}
maven {
name = "Fuzs Mod Resources"
url = "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/"
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.release = 17
}
java {
withSourcesJar()
}
}