gdbuild
A single-purpose, CI-friendly command-line interface for managing Godot editor versions. Inspired by pyenv, rbenv, and volta.
⚠️ WARNING: This project is in a very early stage. API instability, missing features, and bugs are to be expected for now.
How it works
TODO
Getting started
These instructions will help you install gdbuild
and pin projects (or your system) to specific versions of Godot.
Example usage
TODO
Installation
See docs/installation.md for detailed instructions on how to download gdbuild
.
API Reference
Commands
See docs/commands.md for a detailed reference on how to use each command.
Compile Godot template
- template —
gdbuild template [OPTIONS] <PLATFORM>
Export Godot project
- project —
gdbuild project [OPTIONS] <PRESET>
Development
Setup
The following instructions outline how to get the project set up for local development:
- Follow the instructions to install Go (see go.mod for the minimum required version).
- Clone the coffeebeats/gdbuild repository.
- Install the tools used below by following each of their specific installation instructions.
Code submission
When submitting code for review, ensure the following requirements are met:
❕ NOTE: These instructions do not persist the tools to your development environment. When regular use is required, follow each tool's individual instructions to install permanent versions.
-
The project is correctly formatted using goimports:
go run golang.org/x/tools/cmd/goimports@latest -w .
-
All golangci-lint linter warnings are addressed:
go run github.com/golangci/golangci-lint/cmd/golangci-lint@latest run ./...
-
All unit tests pass and no data races are found:
go test -race ./...
-
The gdbuild
binary successfully compiles with goreleaser (release artifacts will be available at ./dist
):
go run github.com/goreleaser/goreleaser@latest release --clean --skip=publish --snapshot
Contributing
All contributions are welcome! Feel free to file bugs and feature requests and/or open pull requests.
Version history
See CHANGELOG.md.
License
MIT License