-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
107 lines (88 loc) · 3.26 KB
/
build.gradle.kts
File metadata and controls
107 lines (88 loc) · 3.26 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
import org.jetbrains.changelog.Changelog
import org.jetbrains.changelog.ChangelogPluginExtension
plugins {
id("net.fabricmc.fabric-loom") version "1.15-SNAPSHOT"
id("maven-publish")
id("me.modmuss50.mod-publish-plugin") version "1.1.0"
id("org.jetbrains.changelog")
}
version = findProperty("mod_version") as String + "+" + findProperty("minecraft_version")
group = findProperty("maven_group") as String
base {
archivesName = findProperty("archives_base_name") as String
}
java {
toolchain.languageVersion = JavaLanguageVersion.of(findProperty("java_version") as String)
}
repositories {
mavenCentral()
maven("https://maven.nucleoid.xyz/")
maven("https://api.modrinth.com/maven")
}
loom {
splitEnvironmentSourceSets()
runConfigs.all {
ideConfigGenerated(true)
}
}
fun DependencyHandlerScope.includeMod(dep: String) {
include(implementation(dep)!!)
}
dependencies {
minecraft("com.mojang:minecraft:${findProperty("minecraft_version")}")
implementation("net.fabricmc:fabric-loader:${findProperty("loader_version")}")
implementation("net.fabricmc.fabric-api:fabric-api:${findProperty("fabric_version")}")
includeMod("me.lucko:fabric-permissions-api:${findProperty("permission_api_version")}")
includeMod("eu.pb4:sgui:${findProperty("sgui_version")}")
includeMod("eu.pb4:placeholder-api:${findProperty("placeholder_api_version")}")
includeMod("eu.pb4:player-data-api:${findProperty("player_data_api_version")}")
includeMod("eu.pb4:common-protection-api:${findProperty("common_protection_api_version")}")
includeMod("maven.modrinth:message-api:${findProperty("message_api_version")}")
}
publishMods {
file.set(tasks.jar.get().archiveFile)
type.set(STABLE)
changelog.set(fetchChangelog())
displayName = "Fabric Essentials ${version.get()}"
modLoaders.add("fabric")
modLoaders.add("quilt")
curseforge {
accessToken = providers.environmentVariable("CURSEFORGE_TOKEN")
projectId = "1271801"
minecraftVersions.addAll(findProperty("curseforge_minecraft_versions")!!.toString().split(", "))
}
modrinth {
accessToken = providers.environmentVariable("MODRINTH_TOKEN")
projectId = "o69N0FT2"
minecraftVersions.addAll(findProperty("modrinth_minecraft_versions")!!.toString().split(", "))
}
github {
accessToken = providers.environmentVariable("GITHUB_TOKEN")
repository = providers.environmentVariable("GITHUB_REPOSITORY").getOrElse("DrexHD/FabricEssentials")
commitish = providers.environmentVariable("GITHUB_REF_NAME").getOrElse("main")
}
}
tasks {
processResources {
val props = mapOf(
"version" to project.version,
"javaVersion" to findProperty("java_version")
)
inputs.properties(props)
filesMatching(listOf("fabric.mod.json", "*.mixins.json")) {
expand(props)
}
}
}
fun fetchChangelog(): String {
val log = rootProject.extensions.getByType<ChangelogPluginExtension>()
val modVersion = findProperty("mod_version")!!.toString()
return if (log.has(modVersion)) {
log.renderItem(
log.get(modVersion).withHeader(false),
Changelog.OutputType.MARKDOWN
)
} else {
""
}
}