-
Notifications
You must be signed in to change notification settings - Fork 23
/
build.gradle
125 lines (103 loc) · 3.06 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import com.modrinth.minotaur.TaskModrinthUpload
import org.gradle.api.tasks.Copy
plugins {
alias libs.plugins.shadow
alias libs.plugins.task.tree
}
apply plugin: "com.modrinth.minotaur"
configurations {
common
shadowCommon // Don't use shadow from the shadow plugin since it *excludes* files.
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentForge.extendsFrom common
}
architectury {
platformSetupLoomIde()
forge()
}
loom {
forge {
mixinConfigs = ["notenoughcrashes.mixins.json", "notenoughcrashes.forge.mixins.json"]
}
}
dependencies {
forge "net.minecraftforge:forge:${libs.versions.minecraft.get()}-${libs.versions.forge.get()}"
// Uncomment to add the test mod at runtime
// runtimeOnly project(path: ":TestForgeMod", configuration: "namedElements")
common(project(path: ":common", configuration: "namedElements")) { transitive false }
shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false }
}
processResources {
inputs.property "version", project.version
filesMatching("META-INF/mods.toml") {
expand "version": project.version
}
}
shadowJar {
exclude "fabric.mod.json"
exclude "architectury.common.json"
configurations = [project.configurations.shadowCommon]
archiveClassifier.set "dev-shadow"
}
remapJar {
input.set shadowJar.archiveFile
dependsOn shadowJar
archiveClassifier.set "forge"
}
jar {
manifest {
attributes([
"MixinConfigs": "notenoughcrashes.mixins.json"
])
}
archiveClassifier.set "dev"
}
java {
withSourcesJar()
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
curseforge {
apiKey = project.hasProperty("curseforge_api_key") ? project.curseforge_api_key : ""
project {
id = curseforge_id
releaseType = release_type
addGameVersion "Forge"
addGameVersion curseforge_mc_version
changelogType = "markdown"
changelog = rootProject.file("changelog.md")
mainArtifact(remapJar) {
displayName = "$mod_name $total_version Forge"
}
}
options {
forgeGradleIntegration = false
}
}
modrinth {
group = "upload"
token = project.hasProperty("modrinth_api_key") ? project.modrinth_api_key : ""
projectId = 'yM94ont6'
versionNumber = total_version + "-forge" // Will fail if Modrinth has this version already
versionName = "$mod_name $total_version Forge"
uploadFile = remapJar
gameVersions = [modrinth_mc_version]
loaders = ["forge"]
changelog = rootProject.file("changelog.md").text
versionType = release_type
}
task publishForge {
group = "publishing"
afterEvaluate {
dependsOn(curseforge442354)
dependsOn(tasks.modrinth)
}
}
// See https://discord.com/channels/792699517631594506/1237692720219295844/1250428584598962351
configurations.all {
resolutionStrategy.force("net.sf.jopt-simple:jopt-simple:5.0.4")
}