* 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
* 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
* Initial work on better include configuration
* Remove unused members
* Substantially simplify
* Only process configuration once
* Hopefully fix tests
* Make platform dependencies work again
* Fix edge case where include or super configuration has withDependencies action
* Fix including subproject/composite jars and add test
* Remove needless following of external result
* Change priority for module location discovery
* Fix failing test
* Apply suggestions from code review
Co-authored-by: modmuss <modmuss50@gmail.com>
---------
Co-authored-by: modmuss <modmuss50@gmail.com>
* 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
* Skip remapping in `AbstractRemapJarTask`s when source and target namespaces match
The "remap jar" tasks have much more functionality than simply remapping jars at this point, such as adding namespace metadata, nesting jars, ensuring reproducible builds, etc. Some custom build logic may want to take advantage of these features without the full overhead of no-op remapping with TinyRemapper/Mercury.
* Add test
* 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>
* 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>
* 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