76 Commits

Author SHA1 Message Date
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
6f463e9751 Merge 1.7, part 4 2024-07-01 20:01:06 +03: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
modmuss
097fd98fc9 Update to Gradle 8.8 (#1125) 2024-06-14 08:49:47 +01:00
modmuss50
e54d33a050 Update tiny remapper 2024-05-05 15:31:41 +01:00
modmuss
5b7d598d02 More work towards config caching support (#1115) 2024-05-05 10:21:36 +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
2752dc3a6a Make Vineflower the default decompiler (#1110) 2024-04-26 11:52:26 +01:00
modmuss50
683a3ba523 Merge remote-tracking branch 'origin/dev/1.6' into exp/1.7 2024-04-25 20:26:24 +01:00
modmuss
bd009515cb Update loom native, with better error handling. (#1102) 2024-04-20 22:49:21 +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
46d4b56fa1 Merge remote-tracking branch 'FabricMC/dev/1.6' into dev/1.6 2024-04-04 22:15:32 +09:00
modmuss
7a89e40fd0 Update Loom native (#1085) 2024-04-04 11:45:14 +01: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
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
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
modmuss
8250b509a4 Prepare for SelfResolvingDependency's removal & Update to Gradle 8.6 (#1038)
* Prepare for SelfResolvingDependency's removal
Update to Gradle 8.6

* Update docker images

* ProjectDependency is also a SRD

* Throw if layered mappings are created too late.
2024-02-03 23:26:33 +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
c52f868af4 Revert checkstyle update for now. 2024-01-04 14:43:50 +00:00
modmuss50
793388cbfb Update libs 2024-01-04 14:07:12 +00:00
modmuss
872d12ace0 Update tiny-remapper, misc perf improvements, test fixes. (#1009)
* Only mixin remap/analyse classpath jars that use static mixin remappings.

* More of a mess

* Less of a mess?

* Nope?

* Exclude the none root MC jars from the remap classpath when using MPO

* Improve test a little

* Update TR

* Checkstyle

* Fix DLN test

* Fix possible crash when closing build services
2024-01-04 00:39:36 +00:00
modmuss
c5d73548e7 Remove jackson (#1014)
* Remove jackson

* Fix unit tests
2024-01-02 22:35:37 +00:00
shedaniel
119898df76 Migrate to Fabric TR 2023-12-26 18:57:21 +08:00
shedaniel
beb04d30f2 Merge remote-tracking branch 'FabricMC/exp/1.5' into exp/1.5
# Conflicts:
#	.github/workflows/publish.yml
#	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/decompile/SingleJarDecompileConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/tiny/TinyJarInfo.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/ProcessedNamedMinecraftProvider.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/task/RemapTaskConfiguration.java
#	src/test/groovy/net/fabricmc/loom/test/unit/kotlin/KotlinRemapperClassloaderTest.groovy
2023-12-26 18:39:12 +08:00
modmuss
51e1da7330 Update deps (#1007)
* Update deps

* Fix KotlinRemapperClassloaderTest
2023-12-20 10:14:26 +00:00
Juuz
45bb6841d8 Fix NeoForge ATs not being fully remapped (#185)
Fixes #184. Also rewrites all code using the CadixDev AT library to use our fork.
2023-12-16 20:18:18 +02: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
827c0e9928 Update TR. Fix #174 2023-12-08 02:16:42 +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
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
afe3d8ad89 Fix tests on newer Gradle versions (#979)
* Test against Gradle 8.5-rc1

* Test fixes for 8.5/8.6

* Spotless
2023-11-09 13:39:17 +00: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
731f0728da Support mixins without refmaps in mod dependencies (#976)
* Support mixins without refmaps in mod dependencies

* Fix review concerns

* Add test for MixinDetector

* Change warning to a RuntimeException

* FabricAPITest: Test building without mixin AP

* Deal with Eclipse being stuck in the 2010s and not supporting basic Groovy syntax

* Auto-fix Groovy code format

* Fix FabricAPITest not running

* Fix code style
2023-11-06 10:40:24 +00:00
Juuz
8403d42403 Use version catalog for Forge support dependencies 2023-10-31 00:29:25 +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
modmuss
856f0a4f33 Fix and validate kotlin version. (#903) 2023-06-13 18:31:02 +01:00
modmuss50
1015ef09ff Update to Gradle 8.1 (#864)
* Update to Gradle 8.1

* Fix build, run RunConfigTest against all gradle versions.

* Fix build
2023-04-17 13:49:49 +01:00
modmuss50
c46abf8ac4 Update deps, test fixes, and fix github actions deprecation warnings. (#745) 2022-10-29 16:57:06 +01:00