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.
* Add mirrors util and mirror configuration
* Fix NPE in MirrorConfiguration;
Add constants in Constants;
Rename Mirrors.java to MirrorUtil.java
* Bump gradle nightly version
* Apply mirror to download assets.
Need fix settings in LoomRepositoryPlugin.java
* Fix MojangMappingsSpec having the same hash version for each mc version.
I dont think this would be a real cause for concern as the jar would have had the mc version in it anyway.
* Revert "Fix MojangMappingsSpec having the same hash version for each mc version."
This reverts commit 61fa4d9f
* Remove MirrorConfiguration and move to MirrorUtil
* StyleCheck.
* Fix "IllegalStateException: The root project is not yet available for build."
* Remove some of the extra content.
Co-authored-by: BreakIce <suibing112233@outlook.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
* move repo declartions
- Move repository declartions in MavenConfiguration.java to LoomRepositoryPlugin.java
* move repo declartions
- Move repository declartions in MinecraftMappedProvider.java to LoomRepositoryPlugin.java
* move repo declartions
- Move repository declarations in MinecraftProcessedProvider.java to LoomRepositoryPlugin.java
* do not add repositories if dependencyResolutionManagement is used
* Simplify the change on LoomGradlePlugin
- this is the suggestion from liach
* change name to follow fabric naming convension
- change getProjectUUID to getProjectUuid
- change PROJECT_MAPPED_CLASSIFIER to projectMappedClassifier
* remove MavenConfiguration.java
- the file currently do nothing.
* clean-up for all `instanceof` clause
* add DependencyResolutionManagementTest
* code cleanup
* Update src/test/resources/projects/dependencyResolutionManagement/projmap/src/main/resources/modid.accesswidener
* change project uuid to project full name
Co-authored-by: modmuss50 <modmuss50@gmail.com>