* Set up configuration for known indy bsms
* Make ignoredIndyBsms apply to service remapper
* Add groovy indy instruction to default known BSMs
* Address feedback
---------
Co-authored-by: modmuss <modmuss50@gmail.com>
This PR rewrites the Minecraft library processing with a more structured and testable set of "library processors". The old code is a mess of special cases and work arounds for various issues on various platforms.
Previously this was only really used on lesser used platforms/versions so wasnt a major issue if things broke, however current shipping Minecraft versions (1.19.4) use an LWJGL version that does not work well on Java versions new than 19. With this change LWJGL is upgraded when using Java 19 or later.
Upgraded libraries are also now only placed on the runtime classpath, this prevents you from using newer library features in your mod.
- Instead of a TinyMappingsService holding two files (normal + srg),
each file gets its own tiny mappings service.
- Allow using SRG mappings in MinecraftJarProcessor impls
via ProcessorContext.
- Reverts most of our extensive changes to TinyRemapperHelper, they're not
necessary anymore.
- Restores a missing mapping namespace check to
TinyRemapperHelper.getTinyRemapper.
* Perf improvements to multi-project builds.
* Fixes.
* More fixes.
* Layered mappings fixes
* Perf improvements. Undo broken fix.
* Fix remap classpath being empty.
* Another gradle bug? Either way this is fine and works.
* Fix broken test
* Final fixes?
* Fix and cleanup mixin ap mappings.
Reads "extras/record_signatures.json" from mappings jar, just works with yarn.
Mojmap:
```
mappings loom.layered {
officialMojangMappings()
signatureFix("net.fabricmc:yarn:21w38a+build.9:v2")
}
```
* Add comments about transitive access widners to generated sources
* Migrate fully to mapping io
* Use release version of lorenz-tiny
* Review comment
* Added global access widener support.
* Adapt loom to changed API of latest AW PR.
* Fix expected access widener to fix the test. Since the access widener is now streamed directly into the writer, the expanded rules (i.e. accessible field makes the owning class also accessible) are no longer found in the remapped file.
* Add basic transitive accesswidener test
* Extracted applying transitive access wideners into their own jar processor since they also need to be applied if there is no AW in the mod itself.
* Misc assortment of fixes
* Set up the processor lazily to allow for adding the intermediary MC jar, which is needed to correctly remap intermediary AWs to named.
* Rework to setup the tiny remapper classpath with the mc jar
Add an extension prop to disable
* Add TransitiveDetectorVisitor
* Minor refactoring.
* Use release-version of access-widener.
Co-authored-by: modmuss50 <modmuss50@gmail.com>