Skip to content

Commit d2baae8

Browse files
committed
Merge branch 1.21.8 into 1.21.9.
2 parents f6910cc + ea40ab9 commit d2baae8

File tree

7 files changed

+96
-29
lines changed

7 files changed

+96
-29
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,9 @@
139139

140140
- Updated [Yumi Minecraft Libraries: Foundation].
141141

142+
### 8.0.3
143+
144+
- Improved mojmap publication.
145+
- Updated [Yumi Minecraft Libraries: Foundation].
146+
142147
[Yumi Minecraft Libraries: Foundation]: https://github.com/YumiProject/yumi-minecraft-foundation-library "Yumi Minecraft Foundation Library page"

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ dependencies {
3333
/* Fabric definitions */
3434
3535
include(modImplementation("dev.lambdaurora:spruceui:${project.spruceui_version}"))
36-
include("dev.yumi.mc.core:yumi-mc-foundation:1.0.0-alpha.5+1.21.1")
36+
include("dev.yumi.mc.core:yumi-mc-foundation:1.0.0-alpha.15+1.21.1")
3737
}
3838
```
3939

4040
And this to your `gradle.properties`:
4141

4242
```properties
43-
spruceui_version=8.0.1+1.21.6
43+
spruceui_version=8.0.3+1.21.8
4444
```
4545

4646
It will JAR-in-JAR SpruceUI so users of your mod don't need to download it separately!
@@ -50,16 +50,18 @@ It will JAR-in-JAR SpruceUI so users of your mod don't need to download it separ
5050
Defining the dependency on NeoForge is slightly different:
5151

5252
```kotlin
53+
val mappingsAttribute = Attribute.of("net.minecraft.mappings", String::class)
54+
5355
dependencies {
5456
val spruceui = implementation("dev.lambdaurora:spruceui:${project.spruceui_version}") {
55-
capabilities {
56-
requireCapability("dev.lambdaurora:spruceui-mojmap")
57+
attributes {
58+
attribute(mappingsAttribute, "mojmap")
5759
}
5860
}
5961

60-
jarJar("dev.yumi.mc.core:yumi-mc-foundation:1.0.0-alpha.5+1.21.1") {
61-
capabilities {
62-
requireCapability("dev.yumi.mc.core:yumi-mc-foundation-mojmap")
62+
jarJar("dev.yumi.mc.core:yumi-mc-foundation:1.0.0-alpha.15+1.21.1") {
63+
attributes {
64+
attribute(mappingsAttribute, "mojmap")
6365
}
6466
}
6567
jarJar(spruceui) {

build.gradle.kts

Lines changed: 77 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
import dev.lambdaurora.mcdev.api.MappingVariant
2+
import dev.lambdaurora.mcdev.api.manifest.Nmt
3+
import dev.lambdaurora.mcdev.task.GenerateNmtTask
4+
import net.fabricmc.loom.LoomGradleExtension
5+
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace
16
import net.fabricmc.loom.task.RemapJarTask
27
import spruceui.Constants
8+
import spruceui.task.XplatTransformJar
39

410
plugins {
511
id("spruceui-common")
@@ -77,6 +83,11 @@ repositories {
7783
}
7884
}
7985

86+
val mojmap = lambdamcdev.setupMojmapRemapping()
87+
configurations.getByName("mojmapApi") {
88+
this.extendsFrom(configurations["api"])
89+
}
90+
8091
dependencies {
8192
@Suppress("UnstableApiUsage")
8293
mappings(loom.layered {
@@ -87,11 +98,7 @@ dependencies {
8798
})
8899
modImplementation(libs.fabric.loader)
89100

90-
modApi(libs.yumi.mc.foundation) {
91-
// Exclude Minecraft and loader-provided libraries.
92-
exclude(group = "org.slf4j")
93-
exclude(group = "org.ow2.asm")
94-
}
101+
modApi(libs.yumi.mc.foundation)
95102

96103
fabricModules.stream().map { fabricApi.module(it, libs.versions.fabric.api.get()) }.forEach {
97104
modImplementation(it)
@@ -101,19 +108,16 @@ dependencies {
101108
isTransitive = false
102109
}*/
103110

111+
"mojmapApi"(libs.yumi.mc.foundation) {
112+
attributes {
113+
attribute(MappingVariant.ATTRIBUTE, objects.named(MappingVariant.MOJMAP))
114+
}
115+
}
116+
104117
"testmodCompileOnly"(libs.neoforge.loader)
105118
"testmodImplementation"(sourceSets.main.get().output)
106119
}
107120

108-
val mojmap by sourceSets.creating {}
109-
110-
java {
111-
registerFeature("mojmap") {
112-
usingSourceSet(mojmap)
113-
withSourcesJar()
114-
}
115-
}
116-
117121
tasks.withType<JavaCompile>().configureEach {
118122
options.isDeprecation = true
119123
options.isIncremental = true
@@ -153,6 +157,65 @@ val remapTestmodJar = tasks.register<RemapJarTask>("remapTestmodJar") {
153157
}
154158
tasks.build.get().dependsOn(remapTestmodJar)
155159

160+
//region Mojmap
161+
val remapMojmap = mojmap.registerRemap(tasks.remapJar) {
162+
this.destinationDirectory.set(layout.buildDirectory.map { it.dir("devlibs") })
163+
}
164+
165+
val remapMojmapSourcesJar = mojmap.registerSourcesRemap(tasks.remapSourcesJar) {
166+
this.classpath.from(configurations["minecraftClientLibraries"])
167+
this.archiveClassifier = "preprocessed-mojmap-sources"
168+
}
169+
170+
val nmtGeneration by tasks.registering(GenerateNmtTask::class) {
171+
this.nmt = lambdamcdev.manifests.fmj().map {
172+
it.derive(::Nmt)
173+
.withBlurIcon(false)
174+
.withLoaderVersion("[2,)")
175+
.withMixins("spruceui.mixins.json")
176+
.withDepend("minecraft", "[" + libs.versions.minecraft.get() + ",)")
177+
.withDepend("yumi_mc_core", "[${libs.versions.yumi.mc.foundation.get()},)")
178+
}
179+
this.outputDir = project.layout.buildDirectory.map { it.dir("generated/generated_neoforge_resources") }
180+
}
181+
182+
val xplatTransformJar by tasks.registering(XplatTransformJar::class) {
183+
dependsOn(remapMojmap, nmtGeneration)
184+
185+
inputJar.set(remapMojmap.flatMap { it.archiveFile })
186+
from(nmtGeneration)
187+
this.archiveClassifier = "mojmap"
188+
}
189+
mojmap.setJarArtifact(xplatTransformJar)
190+
191+
val xplatTransformSourcesJar by tasks.registering(XplatTransformJar::class) {
192+
dependsOn(remapMojmapSourcesJar, nmtGeneration)
193+
194+
inputJar.set(remapMojmapSourcesJar.flatMap { it.archiveFile })
195+
from(nmtGeneration)
196+
this.archiveClassifier = "mojmap-sources"
197+
}
198+
mojmap.setSourcesArtifact(xplatTransformSourcesJar)
199+
200+
val remapTestmodMojmapJar = mojmap.registerRemap("remapTestmodJarToMojmap") {
201+
dependsOn(remapTestmodJar)
202+
203+
classpath.setFrom(
204+
(loom as LoomGradleExtension).getMinecraftJarsCollection(MappingsNamespace.INTERMEDIARY),
205+
tasks.remapJar
206+
)
207+
inputFile.convention(remapTestmodJar.flatMap { it.archiveFile })
208+
archiveClassifier = "preprocessed"
209+
sourceNamespace = "intermediary"
210+
targetNamespace = "named"
211+
archiveClassifier = "testmod-mojmap"
212+
}
213+
214+
tasks.build.configure {
215+
dependsOn(xplatTransformJar, xplatTransformSourcesJar, remapTestmodMojmapJar)
216+
}
217+
//endregion
218+
156219
license {
157220
rule(file("HEADER"))
158221
}

build_logic/src/main/kotlin/spruceui-common.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ plugins {
1212
val libs = the<LibrariesForLibs>()
1313
Constants.finalizeInit(libs)
1414

15-
version = "${project.property("mod_version")}+${McVersionLookup.getVersionTag(Constants.mcVersion())}"
15+
version = "${project.property("version")}+${McVersionLookup.getVersionTag(Constants.mcVersion())}"
1616
lambdamcdev.namespace = Constants.NAMESPACE
1717

18-
val javaVersion = Integer.parseInt(project.property("java_version").toString())
18+
val javaVersion = Integer.parseInt(project.property("java_version") as String)
1919

2020
repositories {
2121
mavenCentral()

gradle.properties

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ org.gradle.jvmargs=-Xmx2G
33

44
# Project properties
55
group=dev.lambdaurora
6+
version=9.0.0-beta.1
67
java_version=21
78

8-
# Mod Properties
9-
mod_version=9.0.0-beta.1
10-
119
fabric.loom.dropNonIntermediateRootMethods=true

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ fabric-api = "0.133.1+1.21.9"
66
mappings-yalmm = "5"
77
modmenu="15.0.0-beta.1"
88

9-
yumi-mc-foundation = "1.0.0-alpha.9+1.21.1"
9+
yumi-mc-foundation = "1.0.0-alpha.15+1.21.1"
1010

1111
# Gradle
1212
gradle-licenser = "2.1.+"
1313
gradle-loom = "1.11.+"
14-
gradle-lambdamcdev = "1.3.+"
14+
gradle-lambdamcdev = "1.6.+"
1515

1616
[libraries]
1717
minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft" }

settings.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,3 @@ pluginManagement {
1515
}
1616

1717
includeBuild("build_logic")
18-
include(":moj_xplat")

0 commit comments

Comments
 (0)