YAML Schema Reference ===================== This reference documents the structure of the **gspm** project file (``project.yml``). Project Section --------------- The project configuration file is structured as follows: .. code-block:: yaml name: my-project description: "My Game" default_type: git version: "1.0.0" path: "." .. list-table:: :header-rows: 1 * - Option - Description * - name - required - project identifier * - description - optional - project description * - default_type - optional - default asset pull type (git, copy, zip) * - version - optional - project version string * - path - optional - project directory path (default: ".") Godot Section ------------- The ``godot`` section controls which Godot engine version to use and how to download it. .. code-block:: yaml godot: version: "3.3.3" release: "stable" arch: 64 mono: false local: /path/to/godot url: https://example.com/godot.zip url_linux: https://example.com/linux.zip url_windows: https://example.com/win.zip url_macos: https://example.com/mac.zip =============== =============== Option Description =============== =============== version optional - Godot version (default: "3.3.3") release optional - release type (stable, beta1, rc1, etc.) arch optional - architecture: 32 or 64 (default: 64) mono optional - use Mono build (default: false) local optional - use local Godot binary url optional - custom download URL (fallback) url_linux optional - Linux-specific download URL url_windows optional - Windows-specific download URL url_macos optional - macOS-specific download URL =============== =============== .. note:: The ``url``, ``url_linux``, ``url_windows``, and ``url_macos`` options will override all other download-related options when specified. Assets Section -------------- The ``assets`` section defines external dependencies for your project (code libraries, addons, etc.). .. code-block:: yaml assets: my-asset: location: https://github.com/user/repo.git type: git active: true branch: main includes: - dir: addons todir: addons =============== =============== Option Description =============== =============== location required - source URI (git URL, file path, or zip URL) type optional - pull type: git, copy, zip (default: git) active optional - include in build (default: true) branch optional - git branch to pull (default: master) includes optional - directories to include =============== =============== =============== =============== Include Option Description =============== =============== dir source directory to include todir destination directory (default: same as dir) =============== =============== Export Section -------------- The ``exports`` section defines export presets for building your project. .. code-block:: yaml exports: windows: name: Windows path: ./build/win file: mygame.exe =============== =============== Option Description =============== =============== name optional - display name for the export path required - output directory file required - output filename =============== ===============