Commit Graph

123 Commits

Author SHA1 Message Date
Juuz
5f6891992a Merge remote-tracking branch 'upstream/exp/1.13' into dev/1.13
# Conflicts:
#	build.gradle
#	gradle/libs.versions.toml
#	src/main/java/net/fabricmc/loom/LoomGradleExtension.java
#	src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
#	src/main/java/net/fabricmc/loom/task/RemapJarTask.java
2025-11-03 13:51:55 +02:00
Juuz
4fb75cf336 Include source mapping hash in decompiler cache key (#1414)
* Include source mapping hash in decompiler cache key

Fixes #1410.

* Mark source mappings hash property as optional, improve name
2025-10-31 21:38:25 +00:00
Juuz
1479c65cc5 Merge remote-tracking branch 'upstream/dev/1.12' into exp/1.12
# Conflicts:
#	build.gradle
#	src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/mods/AccessWidenerAnalyzeVisitorProvider.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/extension/MixinExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/extension/MixinExtensionImpl.java
#	src/main/java/net/fabricmc/loom/task/launch/GenerateDLIConfigTask.java
#	src/main/java/net/fabricmc/loom/util/gradle/GradleUtils.java
#	src/main/resources/log4j2.fabric.xml
#	src/test/resources/projects/multiproject/build.gradle
2025-10-29 12:31:21 +02: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
Juuz
2b89258192 Rewrite ForgeSourcesRemapper as a service for config cache support 2025-08-18 14:51:32 +03:00
Juuz
fe2c21c0ad Merge 1.11 2025-08-18 13:13:31 +03:00
modmuss
0a10482c66 Unpick V3 (#1310)
* Unpick V3

* Update unpick

* Dont use impl class

* Apply classresolver changes from Earthcomputer

* Unpick beta 3

* beta 4

* Unpick logging improvements
2025-05-30 16:44:32 +01:00
modmuss
0a35910c63 Rewrite Checksum util class (#1304)
* Rewrite Checksum util class as the old one was annoying me.

* Small cleanup in UnpickService

* Test fixes & cleanup

* Fix build

* Fix OfflineModeTest
2025-05-07 12:13:35 +01:00
modmuss
9948092cdb Create UnpickService to move unpick related code out of gen sources.
* Unpick code cleanup 1

* Dont create unpick service when not using unpick
2025-05-06 14:15:07 +01:00
modmuss
8389baf27b Run unpick in process. Fixes issues with long command lines. (#1298)
* Run unpick in process. Fixes issues with long command lines.

* Undo test change

* Cleanup
2025-05-01 21:08:38 +01:00
Juuz
8b126c23ef Merge 1.10 2025-03-04 18:37:30 +02:00
modmuss50
cb8ba8fe1d Correct use UntrackedTask. Also fix #1254 2025-01-26 12:35:26 +00:00
Juuz
b1ffa06e30 Support config caching in all vanilla Loom tasks 2024-12-06 20:24:16 +02:00
Juuz
a91ba09a1e Fix compilation errors 2024-12-06 19:45:19 +02:00
Juuz
09174f0ad3 Merge 1.9 2024-12-06 19:35:18 +02:00
Juuz
77e79991fb Merge 1.8, part 9 2024-12-06 19:32:12 +02:00
Juuz
b263a7c537 Merge 1.8, part 8 2024-12-06 19:29:53 +02:00
Juuz
3f115f6b31 Merge 1.8, part 7 2024-12-06 19:28:25 +02:00
Juuz
a68e671678 Merge 1.8, part 4 2024-12-06 19:21:07 +02:00
modmuss
38cff6d2bb Make ExceptionUtil & DaemonUtils config cache safe. (#1223)
* Make ExceptionUtil & DaemonUtils config cache safe.

* Fix tests

* Fix build
2024-11-28 15:00:01 +00:00
modmuss
6492178eaf Add decompile cache rules properties. (#1217)
Closes #1206
2024-11-22 10:25:56 +00:00
shedaniel
c839826f09 Merge commit '9157c22448cb4847586772f8028010f717accc14' into dev/1.8 2024-11-16 20:23:13 +08:00
modmuss
e70ca3d7c1 Fix and test no cache gen sources (#1183)
* Fix and test no cache gen sources

* Spotless
2024-09-30 23:33:40 +01:00
modmuss50
799759ae64 Ensure that gen sources always runs after remap jar. 2024-09-28 14:04:34 +01:00
modmuss
4d3c0a811c Gen sources config caching support (#1169)
* Gen sources config caching support

* Fixes

* Some fixes
2024-09-17 20:39:57 +01:00
modmuss
f3a9a49c6f Enable configuration cache for most tests by default (#1162)
* Enable configuration cache for all tests by default

* Support config cache in test projects

* Some config cache test fixes

* Config caching for run game tasks

* Problems for later

* More problems for later

* Bump min idea version, and remove version check.

* Untested client entries service

* Fixes
2024-08-30 14:39:48 +01:00
modmuss
9157c22448 Inital remap jar configuration cache support (#1161)
* Move everything to the new service system

* Checkstyle

* Fix unit tests + make them use the internet less

* Some more fixes

* Split the mixin ap mapping handling out into its own service.

* Checkstyle

* Fixes

* Move mixin refmap handling to a service

* Minor changes
2024-08-20 12:51:47 +01:00
Juuz
a0d33732a3 Merge 1.7, part 3 2024-07-01 19:55:25 +03:00
Juuz
6f08fa51ec Merge 1.7, part 1 2024-07-01 19:20:21 +03:00
modmuss50
eacd6fbc5f Don't throw when loom was unable to stop the worker, as it may have already been stopped by Gradle. 2024-06-13 22:14:37 +01:00
modmuss50
bee963b1d0 Reset decompiler cache with refresh deps 2024-05-23 17:40:32 +01:00
modmuss
8110523508 Add super classes to decompiler cache ClassEntry (#1118)
* Add super classes to decompiler cache ClassEntry

* And implement

* Add existing classes jar for the decompiler
2024-05-14 21:31:26 +01:00
modmuss
be1e207ebd Stop Gradle daemon after unrecoverable zip errors (#1113) 2024-05-02 18:08:33 +01:00
shedaniel
ff3546e108 Merge remote-tracking branch 'FabricMC/dev/1.6' into dev/1.6 2024-04-28 20:22:49 +09:00
modmuss
e142cb8d0c Print file locks in more cases during decompile (#1099) 2024-04-17 20:41:29 +01:00
modmuss
02af089e57 Lock disowning +write linemap txt file for debugging (#1094)
* Write line map file (#1090)

* Lock disowning (#1093)

* Lock disowning

* Comment fix

* Typo

* Use a much lower lock timeout on CI
2024-04-14 15:14:44 +01:00
shedaniel
deaee2ad65 Workaround inner classes decompilation on Forge 2024-04-04 23:19:37 +09:00
shedaniel
72269221ef Fix checkstyle violations 2024-04-04 22:27:45 +09:00
shedaniel
2838faf41d Fix compile errors 2024-04-04 18:21:21 +09:00
shedaniel
479331d9cd Merge remote-tracking branch 'FabricMC/exp/1.6' into exp/1.6
# Conflicts:
#	gradle/libs.versions.toml
#	src/main/java/net/fabricmc/loom/LoomGradleExtension.java
#	src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
#	src/main/java/net/fabricmc/loom/build/nesting/IncludedJarFactory.java
#	src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MergedMinecraftProvider.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftJarConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftProvider.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SingleJarMinecraftProvider.java
#	src/main/java/net/fabricmc/loom/extension/LoomFiles.java
#	src/main/java/net/fabricmc/loom/extension/LoomFilesBaseImpl.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
#	src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java
#	src/main/java/net/fabricmc/loom/task/RemapJarTask.java
#	src/main/java/net/fabricmc/loom/util/fmj/FabricModJsonFactory.java
2024-03-23 01:06:56 +09:00
modmuss50
713e1ff268 Enable decompile cache by default 2024-03-20 10:34:19 +00:00
modmuss
c2a9c2f18d Async line number remapping (#1074) 2024-03-18 15:42:57 +00:00
modmuss
7bb1224642 Experimental Decompiler cache (#1043) 2024-03-17 22:28:47 +00:00
modmuss
c60b456f7e Print info about locked files during configuration or genSources (#1066)
* Print info about locked files during configuration or genSources

* Use release version

* Output adjustments

* Fix build

* Add user back
2024-03-11 21:16:46 +00:00
shedaniel
ea1d58e106 Merge remote-tracking branch 'FabricMC/exp/1.5' into exp/1.5
# Conflicts:
#	build.gradle
#	gradle/libs.versions.toml
#	src/main/java/net/fabricmc/loom/configuration/ide/RunConfigSettings.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingConfiguration.java
#	src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
2023-11-18 00:33:59 +08:00
Juuz
a11b828380 NeoForge support (#166)
* Initial plumbing for NeoForge support

* Fix checkstyle

* Add ModPlatform.id

* Use NeoForge-specific cache

* Use NeoForge-specific dependency configuration

This is only for the "(neo)forge" configuration exposed
as API. The other configurations remain the same.

* Add test for basic NeoForge 1.20.2 projects

* Implement hacky fast track for NeoForge field migration

In other works, we skip field migrating for now.

* Disable patched decompilation task on Neo

* Disable mixin AP for building on NeoForge

* Many changes related to NeoForge mappings and remapping

* Code style and related fixes

* McpExecutor: Add support for downloading deps via Gradle

Also adds support for downloading a file without a repo
for NeoForm functions.

* Fix wrong configurations being used on NeoForge

* Fix mixin version detection on NeoForge

* Rename MinecraftPatchedProvider jar paths on NeoForge

* Test NeoForge against a client-only MC jar

* Add DFU for codecs, support NeoForge run config templates

* Centralise userdev config reading, support missing SAS

* Set up Shadow for bundling DFU

* Use correct name for NeoForm in cache files

* RemapJarTask: Fix check using isForgeLike for Forge

* MojangMappingsMerger: Complete and reorder mappings

* Fix SRG being used on NeoForge

* Fix SRG being used on NeoForge for ATs

* Use client pipeline for merged to avoid patch issues on Neo

* Update to architectury-loom-runtime 2.0

* Fix Minecraft jar name on Neo

* Fix MojangMappingsMerger having incomplete names

* Fix NeoForge mod dependency remapping using wrong mappings

* Quiet down MojangMappingsMerger

* Fix (Neo)Forge builtin coremods not being remapped

Fixes #146.

* Disable deprecated data generation API on NeoForge

* Use release version of the forge runtime

* Revert "Set up Shadow for bundling DFU"

This reverts commit 2bb8166744.

* Make NeoForge Field Migration work

* NeoForge shouldn't try to get datagen mods

* Fix checkstyle

* Remove mojang maven

* Split Forge and NeoForge extensions

* SimpleNeoForgeTest: Bump Neo version and fix Yarn version

* Remove resolved TODOs

* Re-enable joined NeoForm pipeline

* MPP: Rename srg -> intermediate jars

* Reintroduce namespace filtering for mapping trees

Should be a simple optimisation to avoid reading an
additional ns.

* ForgeRunTemplateTest: Fix code format

* Adapt SrgMerger into ForgeMappingsMerger (#169)

* Fix crash with NeoForge ext creation

* Adapt SrgMerger into ForgeMappingsMerger

* Update tiny-remapper

* Fix spotless

* Resolve reviews

* Fix checkstyle

* Remap ASMAPI.redirectFieldToMethod (#171)

* Remap ASMAPI.redirectFieldToMethod

* Move lastClassName outside the if

* Fix missing template variables in tests using forge/simple

* Add Java version to forge/simple test variables

* Disable naming service dependency on Neo

* Fix changing patch version not affecting mapped game jars

Fixes #167.

* Rename configuration: neoforge -> neoForge

---------

Co-authored-by: shedaniel <daniel@shedaniel.me>
2023-11-17 16:04:22 +02:00
modmuss
83ab524639 Update MIO to 0.5.0 (#974)
* Update MIO to 0.5.0

* Beta 3 + fix
2023-11-06 19:16:44 +00:00
Juuz
60e0aaf823 Merge remote-tracking branch 'upstream/dev/1.3' into dev/1.3
# Conflicts:
#	build.gradle
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.java
2023-06-30 16:23:49 +03:00
modmuss50
8abe00a2b1 Fix gen sources without unpick 2023-06-27 20:54:34 +01:00
modmuss50
ffe4d52a12 Improve GenerateSourcesTask error message.
Closes https://github.com/FabricMC/fabric-loom/issues/914
2023-06-27 09:27:59 +01:00