* Use myers diff algorithm
This is the default Git diff algorithm and by specifying this explicitly we prevent git configs from overriding this setting. As Paper relies on patches generated with Myers, and breaks with other algorithms, it doesn't make sense to allow users to configure this.
* Add diff algorithm in generatePatches
* Also add to isUnfinishedPatch
* userdev: invalidate caches for preceding steps when a step fails
a common cause for patch apply failing is decompiling with the wrong jdk,
and we don't want to have to manually clean cache to fix it after replacing the jdk
* adjust message
* Apply a specific rule to exclude JUnit
This avoids excluding junit from the test classpath, even if explicitly added by a downstream user, which doesn't make sense, and allows people to add junit to the main classpath if they need to for some reason.
* Adjust docs and add constant for json-simple id
---------
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
It's important that 1.20.5 plugins include the mappings metadata in their manifests. For this reason we are bumping the dev bundle revision without any changes to the format.
* Work
* Include mappings hash in manifest
* Use manifest instead of marker file
* Create the manifest if it doesn't exist
* Make RemapJar no-op when the namespaces match
* move files
* decorate userdev jar manifests
* fix relocated shadow jar manifest
* feat(core/patcher): Replace use of shadow plugin
We now reobf using the relocated mappings.
The constant pool still needs to be relocated for references to CB classes by name in for example Commodore or class preloading.
* chore(core/patcher): Remove no longer needed relocation logic from GenerateDevBundle
* chore(core/patcher): Do not extract manifest when including mappings
We don't need this after removing shadow usage
* Bump version to 1.6.0-SNAPSHOT
* update decompiler flags for vineflower
we want them to match up to mache
* rename decompiler stuff to vineflower
* fix style
* Add back support for ForgeFlower for old dev bundles
* Add missing check
* ignore case
* Fix comment
* Rename method
* Remove verify merges flag
---------
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
* Make patched file filtering incremental
This makes it more reasonable to compile against
* Compile against the filtered jar
* Add missing `$` to inner class glob patterns
* Fix base path being split by collection add function