Commit Graph

510 Commits

Author SHA1 Message Date
modmuss50
ac3fa8d410 Start on Loom 1.6 2024-02-02 18:16:46 +00: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
modmuss
c5d73548e7 Remove jackson (#1014)
* Remove jackson

* Fix unit tests
2024-01-02 22:35:37 +00: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
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
modmuss
b987b4e711 Always use unix line endings on windows (#986)
* Always use unix line endings on windows

* Also run checks on windows.

* Fix binary files :)
2023-11-23 22:36:57 +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
modmuss50
a60928ab28 Start on 1.5 2023-11-02 19:21:52 +00:00
Juuz
8403d42403 Use version catalog for Forge support dependencies 2023-10-31 00:29:25 +02:00
Juuz
95dfd29ac9 Remove unused lorenz-asm dependency 2023-10-31 00:20:51 +02:00
shedaniel
2df02d16c6 Fix spotless 2023-10-13 18:09:04 +08:00
shedaniel
f9f275d377 Fix compilation errors 2023-09-23 16:38:09 +08:00
shedaniel
649bbcaf55 Merge remote-tracking branch 'upstream/exp/1.4' into exp/1.4
# Conflicts:
#	.gitignore
#	build.gradle
#	settings.gradle
#	src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
#	src/main/java/net/fabricmc/loom/configuration/LoomConfigurations.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/task/service/JarManifestService.java
#	src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java
#	src/main/java/net/fabricmc/loom/util/Constants.java
2023-09-23 16:11:29 +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
modmuss50
fc9041a071 Start on Loom 1.4 2023-08-22 22:52:10 +01:00
Juuz
f51a9a59de Merge remote-tracking branch 'upstream/dev/1.3' into dev/1.3
# Conflicts:
#	src/main/java/net/fabricmc/loom/build/nesting/IncludedJarFactory.java
2023-07-19 12:56:27 +03:00
Juuz
2de23d12cf Update TR and fix compilation errors 2023-07-19 12:14:34 +03:00
modmuss50
cfe72b933a Improve Kotlin version detection 2023-07-06 13:06:07 +01: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
modmuss
a2b541818c Apply AW as a TR AnalyzeVisitor (#892)
* Apply AW as a TR AnalyzeVisitor

* Update TR
2023-06-23 15:29:24 +01:00
Juuz
13cfbb9da5 Merge remote-tracking branch 'upstream/exp/1.3' into exp/1.3
# Conflicts:
#	build.gradle
#	src/main/java/net/fabricmc/loom/LoomGradleExtension.java
#	src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/decompile/SingleJarDecompileConfiguration.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/mapped/IntermediaryMinecraftProvider.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/NamedMinecraftProvider.java
#	src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java
2023-06-21 21:40:25 +03:00
modmuss
4e593fc5ae Rework how unpick and linenumber maps are applied (#907)
This should hopefully vastly improve debugging, and more imporantly not work in a consistant manner, making debugging issues a lot easier.

This commit contains an intergration test that uses a real debugger to check that breakpoints are being fired as expected.
2023-06-16 21:55:04 +01:00
modmuss
856f0a4f33 Fix and validate kotlin version. (#903) 2023-06-13 18:31:02 +01:00
modmuss50
5c92ebd20b Loom 1.3 2023-06-13 11:10:08 +01:00
Juuz
915521cd23 Fix code style 2023-04-30 02:46:15 +03:00
Juuz
bf707bd5eb Disable FabricAPITest in CI since it never completes 2023-04-29 22:38:52 +03:00
Juuz
27cfb8c033 Merge 1.2, part 2 2023-04-23 10:35:54 +03:00
Juuz
4b2090f6fe Merge 1.2, part 1 2023-04-23 10:30:30 +03:00
modmuss50
89d09600c5 Rewrite Kotlin metadata remapping to support the latest kotlin metadata library. (#866) 2023-04-17 23:46:45 +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
95a260d923 Test against Gradle 8.1 and 8.2 nightly. (#846) 2023-04-16 17:19:21 +01:00
modmuss50
9e7458f76a 1.2 2023-04-16 14:46:50 +01:00
Juuz
5b1c18b3c1 Fix code format
Also replaced some Groovy 3 syntax with Groovy 2 syntax because
Eclipse is bad and outdated as usual.
2023-04-03 18:00:31 +03:00
Juuz
b7b5d5023e Merge remote-tracking branch 'upstream/dev/1.1' into dev/1.1
# Conflicts:
#	build.gradle
#	src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
#	src/test/groovy/net/fabricmc/loom/test/unit/kotlin/KotlinRemapperClassloaderTest.groovy
#	src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
#	src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/MojangMappingLayerTest.groovy
#	src/test/resources/projects/dependencyResolutionManagement/settings.gradle
2023-04-03 17:43:30 +03:00
modmuss50
ad7d4e75b9 Reformat groovy code (#850)
* Reformat groovy

* Also format gradle files

* Groovy import order
2023-03-31 10:22:58 +01:00
Juuz
674572f1df Add actual mods.toml metadata parsing 2023-02-19 02:36:11 +02:00
Juuz
b8a2828582 Tweak publications to match upstream more closely
- Removes one duplicate publication (plugin), it already exists in the
  gradle plugin development plugin.
- Removed some minor differences in the snapshot publications to match
  upstream to reduce merge conflicts.
2023-02-18 18:22:21 +02:00
Juuz
9e041899ae Merge with Fabric 1.1, stage 9 2023-02-16 21:03:55 +02:00
Juuz
16e1eda2c6 Merge with Fabric 1.1, stage 7 2023-02-16 20:59:03 +02:00
Juuz
0314829e26 Merge with Fabric 1.1, stage 3 2023-02-16 01:02:58 +02:00
Juuz
4e9b50fcbc Merge with Fabric 1.1, stage 2 2023-02-16 01:00:05 +02:00
Juuz
81d1f5d562 Merge with Fabric 1.1, stage 1 2023-02-16 00:53:48 +02:00
modmuss50
b22c66f0be Update dependencies 2023-01-22 13:34:28 +00:00
js6pak
8a434af084 Remove unnecessary publication (#619) 2023-01-16 19:09:06 +00:00
modmuss50
63ecb88082 Gradle 8 tests, perf/memory optimisations (#796)
* Add gradle 8 tests
Reuse gradle home between tests
Misc perf and mem optimisations

* Fix build warning.

* Added multi mc version test

* Use server launcher in ServerRunner

Co-authored-by: Luna <62033805+Luna5ama@users.noreply.github.com>
2023-01-16 18:39:26 +00:00
Juuz
cf68a6eb1e Merge remote-tracking branch 'upstream/dev/1.0' into dev/1.0 2023-01-16 19:56:25 +02:00
Juuz
f2c0d7a35d Split Architectury extensions to Fabric classes into new classes (#116)
* Split custom RemapJarTask logic into a new class

* Split a lot of logic for Arch and Quilt mod metadata into new classes

* ArchitecturyCommonJson: Fix outdated error message

* Add minimal unit tests for ACJ and QMJ

* QuiltModJson: Fix error when there are no injected interfaces

* QuiltModJsonTest: Add test for mixin configs

* QuiltModJsonTest: Move to correct package

* Add tests for creating ACJ and QMJ instances
2023-01-07 01:51:32 +02:00