wiki:dev/runbook

Version 6 (modified by jonathan, 4 years ago) (diff)

Initialize a specific sub-module

Developer Runbook (Quick Start and Tips)

This wiki page is intended for mod developers that work with the source code. Assuming you are using IntelliJ IDEA, this documents some additional necessary steps to take above and beyond simply cloning the Git repository and importing it into IntelliJ

1. Sub-module Initialization

The repository uses a sub-module Hydrazine Path Engine which is not hosted by our repository but is hosted for the public on GitHub here. In order for your local Git clone to be aware of this run the following command from the repository root directory the first time you clone the repository or if you are updating to [6cf515ed3c0aa43abad5bf4e0b6a7aa6e05db650] or later:

git submodule update --init --recursive --remote

This will pull the sub-modules from external sources updated to their respective tips.

NOTE: If this fails it's likely because a skeletal sub-module directory already exists (i.e. ./hydrazine-path-engine/), check to make sure you do not have any local changes in this folder and then delete this folder. Then run the command again.

Initialize Specific Sub-Module

To initialize a specific sub-module instead of all of them (e.g. you have initialized Hydrazine but not Data Structures) run the following commands:

git submodule init -- < sub-module name >
git submodule update -- < sub-module name >

Where sub-module name is the name and path of the sub-module to update relative to the root directory of the project (e.g. data-structures)

2. Setup Decompiled Workspace

The first thing to do after cloning the Git repository is to run the gradle task setupDecompWorkspace. This processes the Minecraft source making some necessary changes to the binary code that are expected by our source. The most straightforward way to do this is from inside IntelliJ, but you can also do it from the command line as follows from the root directory of the project:

./gradlew setupDecompWorkspace

It may be necessary to run this from time to time after updating your local repository particularly when access transformer changes have been made in subsequent revisions.

Attachments (3)

Download all attachments as: .zip