* Verify the minecraft jar cert
* Don't verify old server jars.
* Checkstyle
* Unit test fixes
* Add a list of known version hashes for versions that we cannot verify the jar signature.
Either the versions arent signed, or are signed with a SHA-1.
* Only verify minecraft jars when they were actually downloaded again.
* Add property to disable verification
* Fix import
* Fix bundled jars
* 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>
* 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
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.
* 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.
* Add dev config with default jar task on it, to aid with depending on sub projects.
* Rename to `namedElements`
* Update src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Add modCompileOnlyApi, modRuntimeOnly; deprecate modRuntime
* begin
* continue
* Make RemapSourcesJarTask use properties
* finish
* Remove cursed version hack 😉
* Finish for real
* Add missing header
* Clarify a comment
* Fix tests
* Use Gradle's own *Elements and remove -dev jars
* Fix maven test
* Put mappingsFinal onto runtimeClasspath instead of implementation
* Make non-mod dependencies work with the legacy pom magic too
* Be a bit more clever when removing dev artifacts
* 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>
* General cleanup by making use of java 16 features
* use jackson-databind in place of gson when reading to a record
* Fixes
* cleanup
* dep updates
* Replace commons IOUtils usage with native java
* Update fernflower