Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
De-pluginizes the tool by directly depending on the revision-specific decoders. The primary benefit here is that we can have all the plugins loaded into memory at once now, since we migrated the directories in classes to contain v*** to distinguish between different revisions, while still keeping the same old class names.
In tasks such as transcribing, if someone has binaries from many different revisions, the old version of the tool had to unload and reload the plugins every time it needed a different revision, adding time and complexity. Now all the plugins get class-loaded concurrently on boot-up.
An additional benefit is that shadowjarring now produces a jar which contains everything needed to run the tool, so it is possible to simply shadowjar it and send it to someone that has never cloned the project, and the tool will work out of the box. This point is relatively moot once the launcher for RSProx has been finished though.