generated from TropheusJ/fabric-example-mod
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
95 lines (80 loc) · 2.26 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
//file:noinspection GroovyAssignabilityCheck
//file:noinspection GroovyAccessibility
//file:noinspection GradlePackageVersionRange
plugins {
id "fabric-loom" version "1.6.+"
id "maven-publish"
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = archives_base_name
group = maven_group
String buildNumber = System.getenv("GITHUB_RUN_NUMBER")
String patch = buildNumber != null ? buildNumber : "99999"
version = mod_version.replace("<build>", patch)
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.shedaniel.me/" }
}
dependencies {
// dev environment
minecraft("com.mojang:minecraft:$minecraft_version")
mappings(loom.layered {
it.officialMojangMappings { nameSyntheticMembers = false }
})
modImplementation("net.fabricmc:fabric-loader:$loader_version")
// dependencies
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabric_version")
}
tasks.register("buildOrPublish") {
group = "build"
String mavenUser = System.getenv("MAVEN_USER")
if (mavenUser != null && !mavenUser.isEmpty()) {
dependsOn(tasks.named("publish"))
println("prepared for publish")
} else {
dependsOn(tasks.named("build"))
println("prepared for build")
}
}
processResources {
Map<String, String> properties = new HashMap<>()
properties.put("version", version)
properties.put("loader_version", loader_version)
properties.put("fabric_version", fabric_version)
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}_${archivesBaseName}" }
}
}
publishing {
publications {
mavenJava(MavenPublication) {
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) }
}
}
}