Documentation ¶
Index ¶
- Variables
- func DefaultFilename() string
- func Export(rc *run.Context, m *Manifest, tl *template.Template, target string) (*export.Export, error)
- func Init(path string) error
- func Template(rc *run.Context, m *Manifest) (*template.Template, error)
- type BaseTargetWithoutFeature
- type BaseTemplateWithoutFeature
- type Config
- type Exporter
- type Godot
- type Manifest
- type TargetBuilder
- type TargetPlatforms
- type Targets
- type TemplateBuilder
- type TemplatePlatforms
- type Templater
- type Templates
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidInput = config.ErrInvalidInput ErrMissingInput = config.ErrMissingInput )
var ErrConflictingValue = errors.New("conflicting setting")
Functions ¶
func DefaultFilename ¶
func DefaultFilename() string
DefaultFilename returns the default name of the 'gdbuild' manifest file.
func Export ¶ added in v0.2.1
func Export( rc *run.Context, m *Manifest, tl *template.Template, target string, ) (*export.Export, error)
Export creates an `Export` instance which contains an action for exporting the specified target.
Types ¶
type BaseTargetWithoutFeature ¶ added in v0.3.20
type BaseTemplateWithoutFeature ¶ added in v0.3.20
type Config ¶
type Config struct { // Extends is a path to another GDBuild manifest to extend. Note that value // override rules work the same as within a manifest; any primitive values // will override those defined in the base configuration, while arrays will // be appended to the base configuration's arrays. Extends osutil.Path `toml:"extends"` }
Configs specifies GDBuild manifest-related settings.
type Manifest ¶
type Manifest struct { // Config contains GDBuild configuration-related settings. Config Config `toml:"config"` // Godot contains settings on which Godot version/source code to use. Godot Godot `toml:"godot"` // Target includes settings for exporting Godot game executables and packs. Target map[string]Targets `toml:"target"` // Template includes settings for building custom export templates. Template Templates `toml:"template"` }
Manifest defines the supported structure of the GDBuild manifest file.
type TargetBuilder ¶ added in v0.3.20
type TargetPlatforms ¶ added in v0.3.20
type TargetPlatforms struct { Linux linux.TargetWithFeaturesAndProfile `toml:"linux"` MacOS macos.TargetWithFeaturesAndProfile `toml:"macos"` Windows windows.TargetWithFeaturesAndProfile `toml:"windows"` }
type Targets ¶ added in v0.3.20
type Targets struct { *common.TargetWithFeaturesAndProfile Platform TargetPlatforms `toml:"platform"` }
Targets defines the parameters for exporting a game binary or pack file for a specified platform. A 'Target' definition can be customized based on 'feature', 'platform', and 'profile' labels used in the property names. Note that each specifier label can only be used once per property name (i.e. 'target.profile.release.profile.debug' is not allowed). Additionally, the order of specifiers is strict: 'platform' < 'feature' < 'profile'.
For example, the following are all valid table names:
[target] [target.profile.release] [target.platform.macos.feature.client] [target.platform.linux.feature.server.profile.release_debug]
type TemplateBuilder ¶ added in v0.3.20
type TemplatePlatforms ¶ added in v0.3.20
type TemplatePlatforms struct { Linux linux.TemplateWithFeaturesAndProfile `toml:"linux"` MacOS macos.TemplateWithFeaturesAndProfile `toml:"macos"` Windows windows.TemplateWithFeaturesAndProfile `toml:"windows"` }
type Templates ¶ added in v0.3.20
type Templates struct { *common.TemplateWithFeaturesAndProfile Platform TemplatePlatforms `toml:"platform"` }
Templates defines the parameters for building a Godot export template for a specified platform. A 'Template' definition can be customized based on 'feature', 'platform', and 'profile' labels used in the property names. Note that each specifier label can only be used once per property name (i.e. 'target.profile.release.profile.debug' is not allowed). Additionally, the order of specifiers is strict: 'platform' < 'feature' < 'profile'.
For example, the following are all valid table names:
[template] [template.profile.release] [template.platform.macos.feature.client] [template.platform.linux.feature.server.profile.release_debug]