Help us shape the future of Go! Take the 2026 Go Developer Survey

flags

package
v3.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 26, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrUnmatchedQuote = errors.New("build flags contain an unmatched quote")

Functions

This section is empty.

Types

type Build

type Build struct {
	Common
	Tags       string `name:"tags" description:"Additional build tags to pass to the Go compiler (comma-separated)"`
	Obfuscated bool   `name:"obfuscated" description:"Build with garble and stable obfuscated binding IDs"`
	GarbleArgs string `name:"garbleargs" description:"Additional arguments to pass to garble before the build command"`
}

type Common

type Common struct {
	NoColour bool `description:"Disable colour in output"`
}

type Dev

type Dev struct {
	Common
}

type Doctor

type Doctor struct {
	JSON bool `name:"json" description:"Output in JSON format"`
}

type EntitlementsSetup

type EntitlementsSetup struct {
	Output string `name:"output" description:"Output path for entitlements.plist (default: build/darwin/entitlements.plist)"`
}

type GenerateBindingsOptions

type GenerateBindingsOptions struct {
	BuildFlagsString  string `` /* 160-byte string literal not displayed */
	OutputDirectory   string `name:"d" description:"The output directory" default:"frontend/bindings"`
	ModelsFilename    string `name:"models" description:"File name for exported JS/TS models (excluding the extension)" default:"models"`
	IndexFilename     string `name:"index" description:"File name for JS/TS package indexes (excluding the extension)" default:"index"`
	TimeType          string `name:"time-type" description:"The JS type to use for time.Time values. Must be either 'string' or 'Date'." default:"string"`
	TS                bool   `name:"ts" description:"Generate Typescript bindings"`
	UseInterfaces     bool   `name:"i" description:"Generate Typescript interfaces instead of classes"`
	UseBundledRuntime bool   `name:"b" description:"Use the bundled runtime instead of importing the npm package"`
	UseNames          bool   `name:"names" description:"Use names instead of IDs for the binding calls"`
	Obfuscated        bool   `name:"obfuscated" description:"Generate Go metadata that keeps binding method IDs stable in obfuscated builds"`
	ObfuscatedOutput  string `` /* 232-byte string literal not displayed */
	NoEvents          bool   `name:"noevents" description:"Do not generate types for registered custom events"`
	NoIndex           bool   `name:"noindex" description:"Do not generate JS/TS index files"`
	DryRun            bool   `name:"dry" description:"Do not write output files"`
	Silent            bool   `name:"silent" description:"Silent mode"`
	Verbose           bool   `name:"v" description:"Enable debug output"`
	Clean             bool   `name:"clean" description:"Clean output directory before generation" default:"true"`
}

func (*GenerateBindingsOptions) BuildFlags

func (options *GenerateBindingsOptions) BuildFlags() (flags []string, err error)

type Init

type Init struct {
	Common

	PackageName        string `name:"p" description:"Package name" default:"main"`
	TemplateName       string `name:"t" description:"Name of built-in template to use, path to template or template url" default:"vanilla"`
	ProjectName        string `name:"n" description:"Name of project" default:""`
	ProjectDir         string `name:"d" description:"Project directory" default:"."`
	Quiet              bool   `name:"q" description:"Suppress output to console"`
	List               bool   `name:"l" description:"List templates"`
	SkipGoModTidy      bool   `name:"skipgomodtidy" description:"Skip running go mod tidy"`
	Git                string `name:"git" description:"Git repository URL to initialize (e.g. github.com/username/project)"`
	ModulePath         string `name:"mod" description:"The Go module path for the project. Will be computed from the Git URL if unspecified."`
	ProductName        string `description:"The name of the product" default:"My Product"`
	ProductDescription string `description:"The description of the product" default:"My Product Description"`
	ProductVersion     string `description:"The version of the product" default:"0.1.0"`
	ProductCompany     string `description:"The company of the product" default:"My Company"`
	ProductCopyright   string `description:"The copyright notice" default:"\u00a9 now, My Company"`
	ProductComments    string `description:"Comments to add to the generated files" default:"This is a comment"`
	ProductIdentifier  string `description:"The product identifier, e.g com.mycompany.myproduct"`
	SkipWarning        bool   `name:"s" description:"Skips the warning message when using remote templates"`
	UseInterfaces      bool   `description:"Generate TypeScript interfaces instead of classes for bindings" default:"true"`
	UI                 bool   `name:"ui" description:"Launch the interactive project setup wizard in the browser"`

	TemplateFromDefaults      bool
	UseInterfacesFromDefaults bool
}

type Lipo

type Lipo struct {
	Common

	// Output is the path for the universal binary
	Output string `name:"output" short:"o" description:"Output path for the universal binary" default:""`

	// Inputs are the architecture-specific binaries to combine
	Inputs []string `name:"input" short:"i" description:"Input binaries to combine (specify multiple times)" default:""`
}

Lipo represents the options for creating macOS universal binaries

type Package

type Package struct {
	Common
}

type ServiceInit

type ServiceInit struct {
	Name        string `name:"n" description:"Name of service" default:"example_service"`
	Description string `name:"d" description:"Description of service" default:"Example service"`
	PackageName string `name:"p" description:"Package name for service" default:""`
	OutputDir   string `name:"o" description:"Output directory" default:"."`
	Quiet       bool   `name:"q" description:"Suppress output to console"`
	Author      string `name:"a" description:"Author of service" default:""`
	Version     string `name:"v" description:"Version of service" default:""`
	Website     string `name:"w" description:"Website of service" default:""`
	Repository  string `name:"r" description:"Repository of service" default:""`
	License     string `name:"l" description:"License of service" default:""`
}

type Sign

type Sign struct {
	Input   string `name:"input" description:"Path to the file to sign"`
	Output  string `name:"output" description:"Output path (optional, defaults to in-place signing)"`
	Verbose bool   `name:"verbose" description:"Enable verbose output"`

	// Windows/macOS certificate signing
	Certificate string `name:"certificate" description:"Path to PKCS#12 (.pfx/.p12) certificate file"`
	Password    string `name:"password" description:"Certificate password (reads from keychain if not provided)"`
	Thumbprint  string `name:"thumbprint" description:"Certificate thumbprint in Windows certificate store"`
	Timestamp   string `name:"timestamp" description:"Timestamp server URL"`

	// macOS specific
	Identity        string `name:"identity" description:"Signing identity (e.g., 'Developer ID Application: ...')"`
	Entitlements    string `name:"entitlements" description:"Path to entitlements plist file"`
	HardenedRuntime bool   `name:"hardened-runtime" description:"Enable hardened runtime (default: true for notarization)"`
	Notarize        bool   `name:"notarize" description:"Submit for Apple notarization after signing"`
	KeychainProfile string `name:"keychain-profile" description:"Keychain profile for notarization credentials"`

	// Linux PGP signing
	PGPKey      string `name:"pgp-key" description:"Path to PGP private key file"`
	PGPPassword string `name:"pgp-password" description:"PGP key password (reads from keychain if not provided)"`
	Role        string `name:"role" description:"DEB signing role (origin, maint, archive, builder)"`
}

Sign contains flags for the sign command

type SignWrapper

type SignWrapper struct {
	Common
}

type SigningSetup

type SigningSetup struct {
	Platforms []string `` /* 133-byte string literal not displayed */
}

type ToolMSIX

type ToolMSIX struct {
	Common

	// Project configuration
	ConfigPath string `name:"config" description:"Path to the project configuration file" default:"build/config.yml"`

	// MSIX package information
	Publisher string `name:"publisher" description:"Publisher name for the MSIX package (e.g., CN=CompanyName)" default:""`

	// Certificate for signing
	CertificatePath     string `name:"cert" description:"Path to the certificate file for signing the MSIX package" default:""`
	CertificatePassword string `name:"cert-password" description:"Password for the certificate file" default:""`

	// Build options
	Arch           string `` /* 146-byte string literal not displayed */
	ExecutableName string `name:"name" description:"Name of the executable in the package" default:""`
	ExecutablePath string `name:"executable" description:"Path to the executable file to package" default:""`
	OutputPath     string `name:"out" description:"Path where the MSIX package will be saved" default:""`

	// Tool selection
	UseMsixPackagingTool bool `name:"use-msix-tool" description:"Use the Microsoft MSIX Packaging Tool for packaging" default:"false"`
	UseMakeAppx          bool `name:"use-makeappx" description:"Use MakeAppx.exe for packaging" default:"true"`
}

ToolMSIX represents the options for the MSIX packaging command

type ToolPackage

type ToolPackage struct {
	Common

	Format          string `name:"format" description:"Package format to generate (deb, rpm, archlinux, dmg)" default:"deb"`
	ExecutableName  string `name:"name" description:"Name of the executable to package" default:"myapp"`
	ConfigPath      string `name:"config" description:"Path to the package configuration file" default:""`
	Out             string `name:"out" description:"Path to the output dir" default:"."`
	BackgroundImage string `name:"background" description:"Path to an optional background image for the DMG" default:""`
	DmgVolumeIcon   string `name:"volume-icon" description:"Path to the icon shown for the mounted DMG volume" default:""`
	DmgFileIcon     string `name:"file-icon" description:"Path to the icon shown for the DMG file in Finder" default:""`
	DmgFiles        string `name:"files" description:"Additional DMG files as name=path pairs separated by commas" default:""`
	DmgWindowWidth  int    `name:"window-width" description:"DMG Finder window width in pixels" default:"540"`
	DmgWindowHeight int    `name:"window-height" description:"DMG Finder window height in pixels" default:"380"`
	CreateDMG       bool   `name:"create-dmg" description:"Create a DMG file (macOS only)" default:"false"`
}

ToolPackage represents the options for the package command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL