forked from Talia-12/serialization-hooks
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
122 lines (106 loc) · 3.63 KB
/
build.gradle
File metadata and controls
122 lines (106 loc) · 3.63 KB
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
//file:noinspection GroovyAssignabilityCheck
//file:noinspection GroovyAccessibility
plugins {
id "fabric-loom" version "1.0.+"
id "io.github.juuxel.loom-quiltflower" version "1.+" // Quiltflower, a better decompiler
id "io.github.p03w.machete" version "1.+" // automatic jar compressing on build
id "maven-publish"
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
group = project.maven_group
version = project.mod_version
repositories {
maven { url = "https://maven.quiltmc.org/repository/release" }
maven { url = "https://api.modrinth.com/maven" }
maven { url = "https://maven.bai.lol" }
maven { url = "https://maven.terraformersmc.com/releases/" }
maven { url = "https://maven.parchmentmc.org" }
maven { url = "https://jitpack.io" }
}
dependencies {
// dev environment
minecraft("com.mojang:minecraft:${project.minecraft_version}")
mappings(loom.layered {
it.mappings("org.quiltmc:quilt-mappings:${project.minecraft_version}+build.${project.qm_version}:intermediary-v2")
// it.parchment("org.parchmentmc.data:parchment-${project.minecraft_version}:${project.parchment_version}@zip")
it.officialMojangMappings { nameSyntheticMembers = false }
})
modImplementation("net.fabricmc:fabric-loader:${project.loader_version}")
modLocalRuntime("maven.modrinth:lazydfu:0.1.3")
// modLocalRuntime("mcp.mobius.waila:wthit:${project.wthit_version}")
// modLocalRuntime("maven.modrinth:badpackets:${project.bad_packets_version}")
// modLocalRuntime("maven.modrinth:sodium:${project.sodium_version}") // rendering beware
// modLocalRuntime("maven.modrinth:lithium:${project.lithium_version}")
// modLocalRuntime("maven.modrinth:iris:${project.iris_version}")
modLocalRuntime("com.terraformersmc:modmenu:${project.modmenu_version}") { exclude group: "net.fabricmc"; exclude group: "net.fabricmc.fabric-api" }
// dependencies
modImplementation("net.fabricmc.fabric-api:fabric-api:${project.fabric_version}")
implementation(include("com.github.LlamaLad7:MixinExtras:0.1.1"))
annotationProcessor("com.github.LlamaLad7:MixinExtras:0.1.1")
}
sourceSets {
testmod {
compileClasspath += main.compileClasspath
compileClasspath += main.output
runtimeClasspath += main.runtimeClasspath
runtimeClasspath += main.output
}
}
loom {
accessWidenerPath = file("src/main/resources/serialization_hooks.accesswidener")
runs {
testmodClient {
client()
name "Testmod Client"
source sourceSets.testmod
runDir "run/test"
}
testmodServer {
server()
name "Testmod Server"
source sourceSets.testmod
runDir "run/test_server"
}
}
}
processResources {
Map<String, String> properties = new HashMap<>()
properties.put("version", project.version)
properties.put("loader_version", project.loader_version)
properties.put("fabric_version", project.fabric_version)
properties.put("minecraft_version", project.minecraft_version)
properties.put("java_version", sourceCompatibility)
properties.forEach((k, v) -> inputs.property(k, v))
filesMatching("fabric.mod.json") {
expand properties
}
}
tasks.withType(JavaCompile).configureEach {
it.options.release = Integer.parseInt(sourceCompatibility)
}
java {
withSourcesJar()
}
jar {
from("LICENSE") {
rename { "${it}_${project.archivesBaseName}" }
}
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
repositories {
maven {
url = "https://pkgs.dev.azure.com/hexxy-media/artifacts/_packaging/community/maven/v1"
credentials {
username = "hexxy-media"
password = System.getenv("MAVEN_PASSWORD")
}
}
}
}