User Tools

Site Tools


documentation:build_pipelines

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
documentation:build_pipelines [2020/03/18 16:01] liachdocumentation:build_pipelines [2022/11/30 03:03] (current) – [Stitch] Removed the second "used" word in the second half of the paragraph. netuserget
Line 35: Line 35:
 ==== Stitch ==== ==== Stitch ====
  
-Stitch generates and manages intermediary mappings of APIs across MineCraft versions. Each intermediary mapping is uploaded to [[https://github.com/FabricMC/intermediary/tree/master/mappings|FabricMC/intermediary]] and is used used as part of Yarn's build process.+Stitch generates and manages intermediary mappings of APIs across Minecraft versions. Each intermediary mapping is uploaded to [[https://github.com/FabricMC/intermediary/tree/master/mappings|FabricMC/intermediary]] and is used as part of Yarn's build process.
  
 ==== Matcher ==== ==== Matcher ====
Line 45: Line 45:
 The tool utilized by loom to convert yarn-named mod binaries to intermediary-named usable mod binaries and by fabric loader to convert obfuscated vanilla Minecraft to intermediary. The tool utilized by loom to convert yarn-named mod binaries to intermediary-named usable mod binaries and by fabric loader to convert obfuscated vanilla Minecraft to intermediary.
  
 +==== Mercury ====
 +
 +[[https://github.com/CadixDev/Mercury|Mercury]] is a library based on [[https://www.eclipse.org/jdt/core/index.php|Eclipse's JDT Core]] that allows for [[https://github.com/CadixDev/Mercury/blob/2027ef98c6b835eb516bf8c59153a4acd44ee57f/src/main/java/org/cadixdev/mercury/SourceProcessor.java|processors]] to be run against Java codebases. Mercury's prime use is for applying de-obfuscation mappings to a codebases, and includes a [[https://github.com/CadixDev/Mercury/blob/6379e58e914160b5c9d9f4e822d5269586e2260b/src/main/java/org/cadixdev/mercury/remapper/MercuryRemapper.java|processor for doing just that]]. Mercury's open nature allows for anyone to write a processor and for multiple to be run (consequtively) in one go - for example there is an external processor, [[https://github.com/CadixDev/MercuryMixin|MercuryMixin]], that is capable of remapping usage of the Mixin library. 
 +
 +Mercury is utilised by Loom for its [[tutorial:migratemappings|migrateMappings task]], allowing mods to be quickly updated to newer versions of Yarn without tedious manual work. Since the Tiny format isn't directly supported by Lorenz, the mapping library used by Mercury, [[https://github.com/FabricMC/lorenz-tiny|lorenz-tiny]] exists to read and write Lorenz mapping sets using the existing [[https://github.com/FabricMC/tiny-mappings-parser|tiny-mappings-parser]] library.
 +
 +Mercury is maintained and developed by a third party, the [[https://www.cadixdev.org/|Cadix Development Team]]. Queries and bug reports should be directed to them.
 +
 +  * Mercury Bug Tracker: https://github.com/CadixDev/Mercury/issues
 +  * Cadix Development Team IRC Channel: #cadix on [[https://esper.net/|EsperNet]]
documentation/build_pipelines.1584547283.txt.gz · Last modified: 2020/03/18 16:01 by liach