* Replace getRemapArchives & getSetupRemappedVariants with a gradle property as they are evaluated too early to be set.
* Use true for all projects.
* Cleanup, you can set properties for each subproject.
* Fix docs.
* Use MCPConfig data for merging and remapping Forge jar
* Make DependencyDownloader support multiple deps
* Support server-/client-only Minecraft with Forge
There's one slight caveat here: the server jar
contains some client-only classes that have been
patched. This also happens with the official
Forge installer in production, so it's
probably fine.
* Remove binpatcher dep
* Move McpConfigProvider to correct package
* Print tool name for functions in McpExecutor
* Fix Forge tools outputting verbose output at IDEA refresh
* Fix certain Forge deps being excluded from run configs
* Always produce the client extra jar
* Add step count to McpExecutor logging
* Allow missing args and jvmargs in MCP functions
This should fix using 1.14.4 and 1.16.5, which
don't have JVM args for everything.
* Make MCP function downloads follow redirects
* Refactor MCP step outputs, don't copy raw MC jars
* Remove MinecraftProviderBridge
The `extraInt` (`xs`, [1]) parameter of Kotlin's Metadata annotation does not become
part of the KmClass/KmLambda and must be preserved explicitly to not be lost
during remapping.
It does carry important information though, so we must not neglect it.
In particular, bit 7 indicates that the class is used in the scope of an inline
function and is therefore implicitly part of the public API. If this flag is
missing from a class which requires it, then it becomes impossible to use that
inline function because the Kotlin compiler will crash hitting an assertion
while trying to inline the required code [2].
Based on the descriptions in [1], it looks like none of this data should be
affected by our remapping in any way, so it seems safe to simply copy over the
value from the original annotation. And that's what this commit does.
[1]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-metadata/extra-int.html
[2]: https://i.johni0702.de/sOpA8.png
Co-authored-by: Jonas Herzig <jonas@spark-squared.com>