* Support passing FileSpecs around for the FileSpec notation
* Add file mappings layer
* Add better tests for file mappings
* Remove unnecessary param in setup closure call
* Fix test code style
* Add ZipUtils.isZip
* Automatically detect whether the file is a zip
* Rename LayeredMappingSpecBuilder.fileMappings -> mappings
* Add test for file mappings in layered mappings, fix inconsistent hashCode being
* Resolve reviews
* Add server only option.
* Fix crash.
* Fix unpick jar task name.
* Revert test memory change
* Dont add client only libraries.
* Fixes
* Move option to the extension
* 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.
Done because the split jar changes required registering the decompiler task after evaluation.
As there may be more than one decompile task, the options are set per decompiler and not per task.
This should also make easier to add new decompilers without requiring a plugin.
This lays the ground work for split client and server mod code. With this first phase when enabled loom will generate a clientonly and common minecraft jar. Fabric loader and API will both need changes to support this before it can be used to develop mods.
Phase two of this project will handle splitting mod code into a client and common source set along with spliting any dependencies.
Mostly fixes#539 by sepreating decompile tasks
* Add support for mixin files outside of root in MixinRefmapHelper
* Fix checkstyle + Integration tests + Checks all srcDirs from sourceSet
* Redid part that failed to save for last commit
* Other issues fixed
* Checkstyle again
* Made getting root paths safer
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* CodeNarc for test
* Normalized all paths to fix issues on Windows
* Removed debug line used to test return value of lamdba
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
* Apply mitigation's against Log4J2 exploit CVE-2021-44228.
* Only warn when the yarn version does not match the minecraft version.
Should allow yarn versions to be used across mc versions when needed.
* Fix up-to-date checks for ValidateAccessWidenerTask
Co-authored-by: modmuss50 <modmuss50@gmail.com>
* Fix decompiler tasks getting registered in afterEvaluate
* Allow decompilers to add file collections to the forked JVM classpath.
* General code cleanup.
* Rewrite natives handling, upgrade LWJGL on ARM machines.
* Remove old natives override hack, should now always be done via gradle.
* Use "idea" everywhere
* Add server specific libraries onto their own classpath. Includes misc code cleanup.
* Start on writing the excluded server libs.
* Gradle deprecation fixes, and misc cleanup
* Add support mod.
* Make native support mod none transitive.
* Update gradle.