generated from Stereo528/quilt-template-mod
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
107 lines (89 loc) · 2.75 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
105
106
107
plugins {
id 'maven-publish'
alias libs.plugins.quilt.loom
id 'org.ajoberstar.grgit' version '4.1.0'
}
archivesBaseName = project.archives_base_name
version = getVersion()
group = project.maven_group
repositories {
maven { url "https://api.modrinth.com/maven" }
maven { url "https://maven.terraformersmc.com/" }
}
// All the dependencies are declared at gradle/libs.version.toml and referenced with "libs.<id>"
// See https://docs.gradle.org/current/userguide/platforms.html for information on how version catalogs work.
dependencies {
minecraft libs.minecraft
mappings loom.layered {
officialMojangMappings()
}
modImplementation libs.quilt.loader
modImplementation libs.quilted.fabric.api
modImplementation libs.bundles.dependencies
modLocalRuntime(libs.bundles.dev.mods) { exclude group: "net.fabricmc"; exclude group: "net.fabricmc.fabric-api"; exclude group: "net.fabricmc.loader" }
}
processResources {
inputs.property 'version', version
filesMatching('quilt.mod.json') {
expand "version": version
}
}
tasks.withType(JavaCompile).configureEach {
it.options.encoding = 'UTF-8'
// Minecraft 1.18 (1.18-pre2) upwards uses Java 17.
it.options.release = 17
}
java {
// Still required by IDEs such as Eclipse and Visual Studio Code
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar()
// If this mod is going to be a library, then it should also generate Javadocs in order to aid with development.
// Uncomment this line to generate them.
// withJavadocJar()
}
jar {
filesMatching('LICENSE') {
rename '^(LICENSE.*?)(\\..*)?$', "\$1_${archivesBaseName}\$2"
}
}
task buildOrPublish {
group = "build"
String mavenUser = System.getenv().MAVEN_USER
if (mavenUser != null && !mavenUser.isEmpty()) {
dependsOn(tasks.getByName("publish"))
println("Prepared To Publish to Maven")
} else {
dependsOn(tasks.getByName("build"))
println("Prepared to Build")
}
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId project.maven_group
artifactId "${project.archives_base_name}"
version getVersion()
from components.java
}
}
repositories {
maven {
url = "https://mvn.devos.one/${System.getenv().PUBLISH_SUFFIX}/"
credentials {
username = System.getenv().MAVEN_USER
password = System.getenv().MAVEN_PASS
}
authentication { basic(BasicAuthentication) }
}
}
}
String getVersion() {
String version = "${project.mod_version}+mc${libs.versions.minecraft.get()}"
// if (findProperty("releaseType") != "stable") {
// version += "-rev.${grgit.head().abbreviatedId}"
// }
return version
}