Gonto Configuration

Gonto reads its configuration from several folders and merges them to build its final configuration file.

Searched folders are (in order, config from later folders can override the earlier ones):

  • Gonto installation directory (e.g. "C:\winbuild\gonto\"),

  • User’s home directory (e.g. "C:\Users\Gonto\"),

  • Current directory (project dir, e.g. "C:\Users\Gonto\projects\MyUEProject\").

In the above folders, Gonto will search for its configuration file: gonto.yaml (gonto.yml, .gonto.yaml and .gonto.yml are also looked for).

Example Gonto configuration file:

# Gonto's configuration.
#
# This part is typically configured in Gonto's install dir or in user config
# (e.g "C:\winbuild\gonto\gonto.yaml").
gonto:

  cache_dir: "W:\\gonto-cache\\"
  repository: "https://example.org/gonto-repo/"

# Project's build targets.
#
# This part is typically configured in the project itself
# (e.g. "MyUEProject.git\gonto.yaml").
targets:

  # First target, can be run with the following command:
  # gonto run build-android
  build-android:
    requires:
      # Dependency 1
      - name: "unreal"            # Required
        version: "5.5.4-custom1"  # Required
        platform: "win64"         # "win64", "win32" or "multi" (default: "win64")
        format: "vhd"             # "vhd" or "vhdx" (default: "vhd")
        mount_point: "U:\\"       # default: "" (auto)
        env:
          # The "env" part of the "requires" section allows to use the
          # {{mount_point}} place holder that will be replaced by the
          # drive letter the volume is mounted on.
          UNREAL_PATH: "{{mount_point}}"
        reg:
          # Set registry keys right after the image is mounted.
          # {{mount_point}} place holder will be replaced by the drive letter
          # the volume is mounted on.
          - root: "HKEY_LOCAL_MACHINE"  # Root key, required.
            path: "SOFTWARE\\Gonto"     # Path of the subkey (optional, default: "")
            name: "MyValue"             # Name of the value, required.
            type: "REG_DWORD"           # Type of the value (optional, default: "REG_SZ")
            data: 42                    # Data of the value, required.
          - root: "HKEY_CURRENT_USER"
            path: "Software\\Epic Games\\Unreal Engine\\Builds"
            name: "5.4"
            type: "REG_SZ"
            data: "{{mount_point}}"
      # Dependency 2
      - name: "android"
        version: "36"
        env:
          ANDROID_HOME: "{{mount_point}}android\\"
          JAVA_HOME: "{{mount_point}}java\\JDK25\\"
    env:
      FOO: "bar"
    before_script: |           # Optional, before downloading, mounting and main script
      echo before script
    script: |                  # Required
      .\build.bat --target=android
    after_script: |            # Optional, after main script and unmounting
      echo after script

  # Second target, can be run with the following command:
  # gonto run build-windows
  build-windows:
    requires:
      - name: "unreal"
        version: "5.4.0"
        env:
          UNREAL_PATH: "{{mount_point}}"
    script: ".\\build.bat --target=windows"

Registry Keys

Gonto can set registry keys when mounting images. {{mount_point}} place holder will be replaced by the drive letter the volume is mounted on.

Warning

Registry keys are never cleaned by Gonto!

Supported root keys:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_DYN_DATA
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS

For a description of root keys, see:

Supported value types:

Strings:

  REG_SZ
  REG_EXPAND_SZ
  REG_MULTI_SZ

Numbers:

  REG_DWORD
  REG_DWORD_LITTLE_ENDIAN
  REG_DWORD_BIG_ENDIAN
  REG_QWORD
  REG_QWORD_LITTLE_ENDIAN

For a description of value types, see: