- Removes one duplicate publication (plugin), it already exists in the
gradle plugin development plugin.
- Removed some minor differences in the snapshot publications to match
upstream to reduce merge conflicts.
* 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
* Fix test artifact names
- Fixes empty parens in Linux artifacts
- Fixes invalid artifact names containing *
- Fixes Windows artifacts not being different from Linux ones
* Fix Windows tests
* Add genForgePatchedSources task
Closes#32. Also reworks the MCP executor system quite heavily:
- Instead of executing all steps up to `x`, it now resolves dependencies based on step inputs
- No-op steps are skipped
- Steps can be overridden with custom logic by callers
- You can add multiple desired steps to one round of execution
- All step types in MCPConfig 1.14-1.19 are supported now
- Variables that reference MCPConfig zip contents now work
- Removed special case for `{mappings}` variable
Other:
- the MCPConfig zip is now completely extracted into the cache dir instead of just the config file
- eTag support (It seems Mojang's CDN and our meta/maven do not support this right now)
- Age based caching.
- Sha1 based caching.
- HTTP(S) proxy settings should now be respected.
- The downloader has better awareness of offline mode and refresh deps, cleaning up the calling code a bit.
- Uses the new Java 11 HTTP client, provides async support for downloading multiple files
- Progress handling (TODO needs hooking up to gradle)
- Better compression support. Handled by [Methanol](https://mizosoft.github.io/methanol/)
- Unit tested with a real web server.