Commit Graph

2391 Commits

Author SHA1 Message Date
Joseph Burton
501070a47a Make annotations data a bit nicer to use (#1391)
* Make annotations data a bit nicer to use

* Add copy constructors
2025-10-08 12:01:23 +01:00
Juuz
5250e9fb85 Fix invisible log levels being enabled in the log4j config (#1388)
The previous level made loggers report that e.g. the trace
level is always enabled which is clearly wrong.
2025-10-06 22:00:03 +01:00
modmuss
fd2f807647 Only warn when attempting to configure the disabled mixin AP (#1387) 2025-10-05 19:18:57 +01:00
modmuss50
3d2a080242 Invalid remapped sources when using refresh dependencies.
Closes #1142
2025-10-05 18:07:27 +01:00
modmuss
ccb923d533 Fix remapping Kotlin classes containing $. (#1385)
* Fix remapping Kotlin classes containing $.

Closes #1363

* spotless
2025-10-05 17:58:10 +01:00
modmuss
53a99f8603 Fix progress logger (#1386) 2025-10-05 17:57:56 +01:00
modmuss
4eac2e7845 Fix CRF decompile failing on c0.30 (#1384)
- ClassLineNumbers.readMappings throws a nicer error when the input data is empty.
- GenerateSourcesTask include linemap filename when failed to read.
- CRF decompiler wont write empty linemap data.
- Add test
2025-10-05 17:15:49 +01:00
modmuss
d611d7f1b3 Replace TCA with forked fabric-log4j-util (#1375)
* fabric-log4j-util

* Update
2025-10-05 16:28:12 +01:00
modmuss
e2639f9e27 Improve loom.mixin error message now that the AP is disabled by default. (#1383) 2025-10-05 16:26:37 +01:00
modmuss
c97f9e4454 Update to ASM 9.9 (#1382) 2025-10-05 10:18:30 +01:00
modmuss
2dd467bdb7 Remove isRootProject from extension as it can hide Project.getRootProject when in the loom extension block. (#1381) 2025-10-05 09:53:49 +01:00
Joseph Burton
dd90d7bd29 Add AnnotationsDataValidator (#1379)
* Add AnnotationsDataValidator

* Use Constants.ASM_VERSION
2025-10-03 18:08:09 +01:00
KikuGie
7f95c3c60f Make fabric.mod.json path configurable at configuration stage. (#1364)
* Add `fabric.mod.json` path property.

* Add path provider integration tests.

* Separate fabric.mod.json reading methods and move selection to the helper method.

* Separate FMJ getter methods and add configuration to datagen and testmod settings.

* Remove the `fabricModJsonPath` property from Fabric API source sets

* Address review requests by fixing formatting and removing redundant changes

* Fix build

* Move tests to existing file, and remove var usage.

* Fix build :)

---------

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2025-10-03 10:16:17 +01:00
modmuss
103db759f6 Fix SpecContext always resolving mod dependencies with the runtime attribute. (#1378)
Likely fixes #1334
2025-10-01 14:23:05 +01:00
modmuss
5f513b0efc Add basic unit tests for SpecContext (#1377) 2025-10-01 11:27:14 +01:00
Juuz
74794ca7ec StringConstantPatcher: Use Constants.ASM_VERSION 2025-10-01 11:14:56 +03:00
Juuz
6714f9cd63 Merge branch 'dev/1.11' into exp/1.12 2025-10-01 11:13:53 +03:00
Juuz
fc47aa2171 Remap a bunch of new class names in FancyModLoader
Fixes #299.
2025-10-01 11:10:48 +03:00
Juuz
2097c83da5 Use InstallerTools as external tool instead of library
This cuts down on Loom's direct compiletime dependencies.
2025-10-01 01:46:59 +03:00
Juuz
044eb9161f Remove remaining Guava usages 2025-10-01 01:46:59 +03:00
Juuz
d0ec9525bb Merge 1.12, part 1
- Fix compilation errors
- Re-enable mixin AP by default on old Forge
2025-10-01 01:46:58 +03:00
Juuz
96b1497f29 Merge remote-tracking branch 'upstream/exp/1.12' into exp/1.12
# Conflicts:
#	build.gradle
#	gradle/runtime.libs.versions.toml
#	src/main/java/net/fabricmc/loom/build/nesting/JarNester.java
#	src/main/java/net/fabricmc/loom/build/nesting/NestableJarGenerationTask.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModConfigurationRemapper.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/tiny/MappingsMerger.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftProvider.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.java
#	src/main/java/net/fabricmc/loom/extension/MixinExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/task/launch/GenerateDLIConfigTask.java
#	src/main/java/net/fabricmc/loom/task/service/LorenzMappingService.java
#	src/main/java/net/fabricmc/loom/util/Constants.java
2025-10-01 01:09:17 +03:00
Juuz
a7d9504f2b Remove Commons IO usages 2025-10-01 01:06:38 +03:00
Juuz
e1c5f7e868 Use Constants.ASM_VERSION everywhere 2025-10-01 00:21:36 +03:00
Juuz
e76606425e Move most Architectury classes into dev.architectury.loom
The remaining classes are either API types like ModPlatform
or single classes that make sense in specific packages
next to e.g. other implementations of the same interface.
2025-10-01 00:14:20 +03:00
Juuz
841440ff98 FieldMappingsMigrator: Clean up code 2025-09-30 23:40:20 +03:00
Juuz
66a2229add Remove usage of Guava's Table class 2025-09-30 23:36:40 +03:00
Juuz
c24f4539ba Replace uses of Guava code with JDK and custom classes 2025-09-30 19:12:58 +03:00
Joseph Burton
7484a7fd95 Call visitAnnotableParameterCount (#1376) 2025-09-30 13:38:13 +01:00
Joseph Burton
312dcc7ca6 Fix annotation visitor in AnnotationsData.remap (#1374)
* Fix annotation visitor in AnnotationsData.remap

* Use real TinyRemapper
2025-09-29 22:25:18 +01:00
modmuss
8cbe10cb55 Add system property to renderdoc tasks. (#1373)
* Add system property to renderdoc tasks.

* Better comment
2025-09-29 09:53:35 +01:00
modmuss
cf42acf09f Remove Guava and Commons IO Dependencies (#1372) 2025-09-27 09:06:29 +01:00
modmuss
b5f79ef8f6 Update Gradle test versions (#1370)
* Update Gradle test versions

* 9.3 nightly's

* Don't ask.

* Fix another test
2025-09-25 19:47:25 +01:00
Joseph Burton
1f84eaf087 Fix NPE in AnnotationsApplyVisitor (#1371)
* Fix NPE in AnnotationsApplyVisitor

* Fix test
2025-09-25 15:08:29 +01:00
Juuz
a8c0b52128 Add task for launching Enigma against the intermediary jar in dev envs (#1354)
* Add task for launching Enigma against the intermediary jar in dev envs

The task can be used for writing mod-provided javadoc.

* Use multi-jar Enigma to support split source sets

* Update to Enigma 3.0.1

* Add docs to ModEnigmaTask

* Fix Enigma file extension

* ModEnigmaTask: Fail if mapping file is missing
2025-09-23 12:47:14 +01:00
Joseph Burton
213bbfcd18 Add ability to remap annotations data (#1366)
* Add ability to remap annotations data

* Fix unpick remap test
2025-09-20 13:17:37 +01:00
modmuss
2e24e358ea Merge differing method/field access permission flags (#1341)
* Report differing method/field access flags when merging Minecraft classes

* Merge access

* Fix merging private final methods

* Include intermediary name in mappings hash

* Revert "Include intermediary name in mappings hash"

This reverts commit 20ea642cb78d84a153e4a16864f832e14dce3b0c.

* Workaround issue
2025-09-03 16:46:55 +01:00
Juuz
8d9d4df65f Fix split official namespaces existing on versions where they don't make sense (#1361)
* Don't use clientOfficial and serverOfficial namespaces on versions with only one jar

Fixes #1360.

Renames an experimental API in IntermediateMappingsProvider:
getIsLegacyMinecraft -> getUseSplitOfficialNamespaces

* Add test for 0.30 with deobf mappings + no intermediate mappings

* Change split official ns check to Beta 1.0..<1.3 range check

* Fix javadoc

* Clarify comment in MinecraftVersionMeta
2025-09-03 11:49:22 +01:00
modmuss50
928c091d2c Merge remote-tracking branch 'origin/dev/1.11' into exp/1.12 2025-09-03 09:27:00 +01:00
Pasqual Koschmieder
d6ff760ca5 remove use of Task.getProject at exec time in ValidateAccessWidenerTask (#1357) 2025-09-03 09:26:19 +01:00
modmuss
0b5a242762 Bump gradle test versions (#1359) 2025-09-02 10:12:40 +01:00
modmuss
4a34c4bde5 fabric.mod.json generation task (#1345)
* fabric.mod.json DSL.

* A start on generating FMJs

* More work

* The rest

* Task works

* Javadoc and cleanup

* Fixes
2025-09-02 09:27:55 +01:00
Juuz
58d5476ea4 Revert "McpExecutor: Run steps in parallel (#295)"
This reverts commit ea2490b84b.

The parallel execution seems to be incompatible with Java toolchains
as the toolchain detector code's event emitter doesn't work on custom threads.
2025-08-27 22:48:21 +03:00
Juuz
ea2490b84b McpExecutor: Run steps in parallel (#295)
This has a slight speed boost in my testing (around -10% for the total McpExecutor time).
IIRC older game/Forge versions had more steps, so they will benefit more.
2025-08-20 02:20:50 +03:00
Juuz
250e6df67b Publish 1.11 1.11 2025-08-18 20:59:58 +03:00
Juuz
a7ef1472b0 Fix code style 2025-08-18 20:20:09 +03:00
Juuz
3d531ac041 Prevent using ForgeToolExecutor directly
For config cache compatibility, everything must go through
ForgeToolValueSource or ForgeToolService.
2025-08-18 20:15:58 +03:00
Juuz
8441129629 Fix ForgeToolService not working in project config 2025-08-18 20:12:33 +03:00
Juuz
df56ef4e8e Add support for quilt.mod.json5 (#150)
See:
- RFC: QuiltMC/rfcs#83
- Build tool impl: QuiltMC/quilt-loom#36, QuiltMC/quilt-loom#37
- Required loader PR: QuiltMC/quilt-loader#329
2025-08-18 19:55:04 +03:00
Juuz
b27bd29bb8 Remove empty service options interfaces 2025-08-18 19:24:33 +03:00