User Tools

Site Tools


tutorial:updating_yarn

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
Next revisionBoth sides next revision
tutorial:updating_yarn [2019/06/07 20:01] asietutorial:updating_yarn [2019/09/01 18:23] modmuss50
Line 10: Line 10:
  
   * At least **eight gigabytes** of free RAM. (I am not joking. Matcher is not optimized for RAM usage at all. Swap memory might be enough.)   * At least **eight gigabytes** of free RAM. (I am not joking. Matcher is not optimized for RAM usage at all. Swap memory might be enough.)
 +    * Note that Matcher doesn't actually need this much - its constant memory usage seems to peak at about 4GB heap during the first auto match, and after that is done it seems to use under 1GB heap; the thing is, the auto matching process generates an insane amount of object churn (again, optimized for code clarity rather than memory performance) and as such benefits from a high ceiling of memory.
   * A cloned repository of Yarn, on the **A** version.   * A cloned repository of Yarn, on the **A** version.
   * A cloned repository of the Intermediary mappings.   * A cloned repository of the Intermediary mappings.
   * A compiled copy of [[https://github.com/FabricMC/Matcher|the Fabric fork of Matcher]].   * A compiled copy of [[https://github.com/FabricMC/Matcher|the Fabric fork of Matcher]].
     * The Fabric fork differs solely in its inclusion of a Gradle build script for easy use - it generally tracks sfPlayer1's upstream.     * The Fabric fork differs solely in its inclusion of a Gradle build script for easy use - it generally tracks sfPlayer1's upstream.
 +    * A local installation of Gradle (preferably 4.x) is required to compile the Fabric fork. You need to manually bump the version of shadow plugin to 4.0.1 if you have Gradle 5.x installed.
   * A compiled copy of Stitch.   * A compiled copy of Stitch.
  
Line 22: Line 24:
   - Clone the current Yarn version at **A**.   - Clone the current Yarn version at **A**.
   - Run ''%%gradlew mergeJars downloadMcLibs%%''. This will create **A**-merged.jar and .gradle/minecraft/**A**-libraries. You will need these for Matcher.   - Run ''%%gradlew mergeJars downloadMcLibs%%''. This will create **A**-merged.jar and .gradle/minecraft/**A**-libraries. You will need these for Matcher.
 +  - Export the mappings to the offical namespace ''%%gradlew exportMappingsOfficial%%'' these will be used by mater later.
   - Edit build.gradle to point to the **B** Minecraft version.   - Edit build.gradle to point to the **B** Minecraft version.
   - Run ''%%gradlew mergeJars downloadMcLibs%%'' again. This will create files as above, but for **B**.   - Run ''%%gradlew mergeJars downloadMcLibs%%'' again. This will create files as above, but for **B**.
Line 64: Line 67:
  
   - Make sure Yarn has no important PRs dangling - it's somewhat annoying to deal with them later!   - Make sure Yarn has no important PRs dangling - it's somewhat annoying to deal with them later!
-  - Open the Enigma mappings in Intermediary, with **Type: Names**, **Target: A (left)** and **"Replace" checked**.+  - Open the Enigma mappings from ''mappings_official'', with **Type: Names**, **Target: A (left)** and **"Replace" checked**.
   - Save the Enigma mappings **TO A NEW DIRECTORY**, with **Environment: B (right)**, **Source name type: PLAIN**, **Target name type: MAPPED_PLAIN** and **Verbosity: ROOTS**.   - Save the Enigma mappings **TO A NEW DIRECTORY**, with **Environment: B (right)**, **Source name type: PLAIN**, **Target name type: MAPPED_PLAIN** and **Verbosity: ROOTS**.
-  - If everything went fine, delete the old directory and rename the new directory to the old one's name.+  - If everything went fine, delete the old directory'and rename the new directory to ''mappings_official''. 
 +  - Run ''%%gradlew importMappingsOfficial%%'' to import the mappings from ''mappings_official'' to ''mappings''
   - Run ''%%gradlew yarn%%''. If Enigma works correctly, **save the mappings in Enigma**, then close Enigma.   - Run ''%%gradlew yarn%%''. If Enigma works correctly, **save the mappings in Enigma**, then close Enigma.
  
tutorial/updating_yarn.txt · Last modified: 2022/08/02 10:03 by 127.0.0.1