Commit Graph

40 Commits

Author SHA1 Message Date
Juuz
826297c56c Use InstallerTools to create pre-patching jar on certain versions (#315) 2025-12-03 00:30:43 +02:00
Juuz
e0be5bf488 Update to Unprotect 2.0.2
Fixes #305.
2025-10-29 16:17:19 +02:00
Juuz
24ffed6f9e Update to Unprotect 2.0.1
Fixes #304 by removing transitive loader/ModLauncher deps.
2025-10-29 15:11:33 +02: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
d611d7f1b3 Replace TCA with forked fabric-log4j-util (#1375)
* fabric-log4j-util

* Update
2025-10-05 16:28:12 +01: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
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
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
Juuz
fe2c21c0ad Merge 1.11 2025-08-18 13:13:31 +03:00
Juuz
27114d20e1 Update to Unprotect 1.3.1 2025-07-07 13:40:57 +03:00
modmuss
8014d2c18b RenderDoc tasks (#1291)
* First pass on renderdoc support

* Fixes and improvements

* Fix debugging/cleaner code.

* Download from fabric maven

* Fix build

* Revert changes to AbstractRunTask
2025-04-26 15:37:46 +01:00
modmuss
cc31f1c849 Update to Gradle 8.14 (#1292)
* Update to Gradle 8.14

* Fix build
2025-04-25 18:31:19 +01:00
shedaniel
dbe3449236 Merge remote-tracking branch 'FabricMC/dev/1.10' into dev/1.10 2025-03-26 14:08:12 +08:00
modmuss
925dcafa5c Vineflower 1.11.1 (#1274) 2025-03-06 11:21:18 +00:00
Juuz
8b126c23ef Merge 1.10 2025-03-04 18:37:30 +02:00
modmuss
a21db850ea Vineflower 0.11.0 (#1267) 2025-02-25 14:48:33 +00:00
modmuss
8b6658c559 Production run tasks (#1241)
* Production run tasks

* Fix

* Add some docs
2025-01-02 14:25:32 +00:00
Juuz
b263a7c537 Merge 1.8, part 8 2024-12-06 19:29:53 +02:00
modmuss
e4d4503e2a Update deps, suppress 8.11 warnings, remove self resolving dependency code (#1180)
* Update a handful of deps

* Fully remove deprecated SelfResolvingDependency support

* Work around Gradle 8.11 deprecation, lets deal with it later.
2024-09-26 22:29:43 +01:00
shedaniel
c040cd39d7 Fix support for Forge 50+ (#227)
* Remap Forge dependency from mojang instead of srg

* Replace Union Relauncher with Bootstrap Dev

* Add mixins to forge 1206 test

* This should be forgelike
Why didn't this break unit tests?

* Replace with EnumMap

* Add version check for source roots separator

* Fix possible NPE

* Fix checkstyle in javadocs
such fun

* Fix codenarc styling

* fix usage

* remove hashcode and equals

* format code better
2024-08-13 00:19:41 +09:00
Juuz
10a9e743fc Update to Union Relauncher 1.1.1 2024-07-03 16:48:39 +03:00
Jab125
9e4a70f742 Fix Forge 50 (1.20.6) (#219)
Co-authored-by: shedaniel <daniel@shedaniel.me>
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2024-07-01 20:04:40 +03:00
Juuz
6f08fa51ec Merge 1.7, part 1 2024-07-01 19:20:21 +03:00
modmuss
2752dc3a6a Make Vineflower the default decompiler (#1110) 2024-04-26 11:52:26 +01:00
modmuss
b8da4e5498 Update dependencies (#1089)
* Update depedencies

* Fix Gradle 9 deprecation warning

* No need for the shadow jar plugin
2024-04-15 15:12:49 +01:00
shedaniel
6508030d45 Add the updated neoforge AT for J21 & update ASM 2024-04-09 02:03:03 +09:00
shedaniel
3347cfdd4a Merge remote-tracking branch 'FabricMC/exp/1.6' into exp/1.6
# Conflicts:
#	.github/workflows/publish.yml
#	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/configuration/ifaceinject/InterfaceInjectionProcessor.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/GenVsCodeProjectTask.java
#	src/test/resources/projects/kotlin/build.gradle.kts
2024-02-29 18:57:33 +09:00
modmuss
0dc1ba012a Update deps (#1054) 2024-02-24 15:04:56 +00:00
Juuz
5135aaae38 Merge branch 'dev/1.4' into dev/1.5 2024-01-24 20:07:19 +02:00
Juuz
fcd0701a5b Upgrade Log4J version used by AT tool 2024-01-24 20:06:32 +02:00
shedaniel
39e23837e5 Merge remote-tracking branch 'origin/dev/1.4' into dev/1.5
# Conflicts:
#	gradle/libs.versions.toml
2024-01-10 22:28:25 +09:00
shedaniel
c5a1a2d6b2 Merge remote-tracking branch 'FabricMC/dev/1.5' into dev/1.5
# Conflicts:
#	src/main/java/net/fabricmc/loom/configuration/mods/ModConfigurationRemapper.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/task/RemapJarTask.java
#	src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java
#	src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
2024-01-10 22:27:36 +09:00
modmuss50
793388cbfb Update libs 2024-01-04 14:07:12 +00:00
Juuz
94eac81d45 Revive unified mods for the development environment (#182)
* Add Union Relauncher for Forge 49+

* Don't apply this on Neo
2023-12-13 14:14:27 +08:00
shedaniel
e3c5226da7 Merge remote-tracking branch 'FabricMC/exp/1.5' into exp/1.5
# Conflicts:
#	gradle/libs.versions.toml
#	src/main/java/net/fabricmc/loom/configuration/mods/ArtifactMetadata.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModConfigurationRemapper.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/task/RemapJarTask.java
#	src/main/java/net/fabricmc/loom/util/Constants.java
#	src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
2023-11-22 14:56:39 +08:00
modmuss
846d16ce2d Update deps (#983) 2023-11-19 16:59:35 +00: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
shedaniel
f9f275d377 Fix compilation errors 2023-09-23 16:38:09 +08:00
modmuss
71b7bea854 Support the Vineflower decompiler (#951) 2023-09-11 11:29:01 +01:00
modmuss
3a090917ff Update to Gradle 8.3, and update all other deps. (#946)
* Update to Gradle 8.3, and update all other deps.

* Fix tests

* Lazily download decompilers, generate version constants to ensure they are synced between the build and Gradle.

Each decompiler has a configuration, this allows the version to be changed at a later date if needed.

* Fix typo :)

* Oh so many versions
2023-08-24 10:18:25 +01:00