Documentation ¶
Index ¶
- Constants
- Variables
- func InitGetLogger(logLvl string) *logrus.Logger
- func PackageNameToShort(packageName string) string
- type Badge
- type BuildArgs
- type CommandRunner
- func (commandRunner CommandRunner) RunInteractive(cmdLine []string, workdir string, env map[string]string) error
- func (commandRunner CommandRunner) RunProjectHook(project Project, hookName string, args BuildArgs) error
- func (commandRunner CommandRunner) RunReturnOutput(cmdLine []string, workdir string, env map[string]string) (string, error)
- func (commandRunner CommandRunner) RunScriptIfExistsReturnOutput(scriptPath string, args BuildArgs, workdir string, env map[string]string) (string, error)
- func (commandRunner CommandRunner) RunScriptReturnOutput(scriptPath string, args BuildArgs, workdir string, env map[string]string) (string, error)
- func (commandRunner CommandRunner) RunScriptToStdout(scriptPath string, args BuildArgs, workdir string, env map[string]string) error
- func (commandRunner CommandRunner) RunToStdout(cmdLine []string, workdir string, env map[string]string) error
- type Compressor
- type Encoding
- type FileSystem
- func (fileSystem FileSystem) DirExists(path string) bool
- func (fileSystem FileSystem) FileExists(path string) bool
- func (fileSystem FileSystem) PathExists(path string) bool
- func (fileSystem FileSystem) WriteJSONFile(path string, data interface{}) error
- func (fileSystem FileSystem) WriteJSONFileIfNotExists(path string, data interface{}) error
- func (fileSystem FileSystem) WriteTextFile(path string, data string) error
- func (fileSystem FileSystem) WriteTextFileIfNotExists(path string, data string) error
- type GlobalOptions
- type Golang
- type Project
- type Template
- type Timer
- type Version
Constants ¶
const BuildDirName = "build"
BuildDirName defines the name of the build folder
const CmdDirName = "cmd"
CmdDirName defines the name of the cmd folder
const DockerIgnoreFileName = ".dockerignore"
DockerIgnoreFileName defines the name for .dockerignore
const DockerfileFileName = "Dockerfile"
DockerfileFileName defines the name for Dockerfile
const GitIgnoreFileName = ".gitignore"
GitIgnoreFileName defines the name for .gitignore
const GitRepoFileName = ".git"
GitRepoFileName defines the name for .git
const GoModFileName = "go.mod"
GoModFileName defines the name for go.mod
const LicenseFileName = "LICENSE"
LicenseFileName defines the name for LICENSE
const ReadmeFileName = "README.md"
ReadmeFileName defines the name for README.md
const ScriptDirName = "scripts"
ScriptDirName defines the name of the scripts folder
const ScriptPostBuild = "post_build"
ScriptPostBuild defines the name of the post_build script
const ScriptPreBuild = "pre_build"
ScriptPreBuild defines the name of the pre_build script
const VersionInfoFileName = "versioninfo.go"
VersionInfoFileName defines the name for versioninfo.go
const VersionInfoPackage = "versioninfo"
VersionInfoPackage defines the name for the version info package
Variables ¶
var ( // ErrArgsMissing is what is returned when no arguments could be found ErrArgsMissing = errors.New("No arguments were found") // ErrArgsDecodeError is what is returned when the arguments could be decoded (empty or invalid JSON) ErrArgsDecodeError = errors.New("Failed to decode arguments") )
var ( // ErrEmptyCommand is returned when the command is empty ErrEmptyCommand = errors.New("No command specified") )
Functions ¶
func InitGetLogger ¶ added in v1.9.4
func PackageNameToShort ¶
PackageNameToShort converts a package name to it's short version
Types ¶
type Badge ¶
type Badge struct { Title string // The title of the badge Link string // The link to link to Image string // The src of the image for the badge }
Badge is used to link with a badge to a specific URL
func (Badge) MarkdownString ¶
MarkdownString returns the badge as a Markdown string
type BuildArgs ¶ added in v1.9.4
type BuildArgs struct { ProjectPath string `json:"project_path,omitempty"` // The root path of the project OutputPath string `json:"output_path,omitempty"` // The absolute build path GOOS string `json:"GOOS,omitempty"` // The GOOS for which was compiled GOARCH string `json:"GOARCH,omitempty"` // The GOARCH for which was compiled ProjectName string `json:"project_name,omitempty"` // The project name ProjectDescription string `json:"project_description,omitempty"` // The project description ProjectCopyright string `json:"project_copyright,omitempty"` // The project copyright Version string `json:"version,omitempty"` // The version info Revision string `json:"revision,omitempty"` // The project revision Branch string `json:"branch,omitempty"` // The project branch RawBuildCommand []string `json:"raw_build_command,omitempty"` // The raw build command which is executed }
BuildArgs are the arguments which are passed to the pre_build.go and post_build.go scripts
func ParseBuildArgs ¶ added in v1.9.4
ParseBuildArgs parses the build arguments from os.Args
type CommandRunner ¶
type CommandRunner struct { FileSystem Encoding }
CommandRunner is what can be injected into a subcommand when you need to run system commands
func (CommandRunner) RunInteractive ¶
func (commandRunner CommandRunner) RunInteractive(cmdLine []string, workdir string, env map[string]string) error
RunInteractive and interactive command
func (CommandRunner) RunProjectHook ¶
func (commandRunner CommandRunner) RunProjectHook(project Project, hookName string, args BuildArgs) error
RunProjectHook runs the given hook in the context of the project passing the args to ti
func (CommandRunner) RunReturnOutput ¶
func (commandRunner CommandRunner) RunReturnOutput(cmdLine []string, workdir string, env map[string]string) (string, error)
RunReturnOutput runs the command and returns the result as a string
func (CommandRunner) RunScriptIfExistsReturnOutput ¶
func (commandRunner CommandRunner) RunScriptIfExistsReturnOutput(scriptPath string, args BuildArgs, workdir string, env map[string]string) (string, error)
RunScriptIfExistsReturnOutput runs the given script if it exists using "go run" and outputs the result to stdout/stderr
func (CommandRunner) RunScriptReturnOutput ¶
func (commandRunner CommandRunner) RunScriptReturnOutput(scriptPath string, args BuildArgs, workdir string, env map[string]string) (string, error)
RunScriptReturnOutput runs the given script using "go run" and outputs the result to stdout/stderr
func (CommandRunner) RunScriptToStdout ¶
func (commandRunner CommandRunner) RunScriptToStdout(scriptPath string, args BuildArgs, workdir string, env map[string]string) error
RunScriptToStdout runs the given script using "go run" and outputs the result to stdout/stderr
func (CommandRunner) RunToStdout ¶
func (commandRunner CommandRunner) RunToStdout(cmdLine []string, workdir string, env map[string]string) error
RunToStdout runs the command and outputs the result to stdout/stderr
type Compressor ¶
type Compressor struct{}
Compressor is what can be injected into a subcommand when you need zip / tgz functions
func (Compressor) CreateTgz ¶
func (c Compressor) CreateTgz(tgzPath string) compressors.Compressor
CreateTgz creates a tgz file from a path
func (Compressor) CreateZip ¶
func (c Compressor) CreateZip(zipPath string) compressors.Compressor
CreateZip creates a zip file from a path
type Encoding ¶
type Encoding struct{}
Encoding is what can be injected into a subcommand when you need encoding-related items
func (Encoding) ToFormattedString ¶
ToFormattedString returns a JSON formatted string encoding data
func (Encoding) ToJSONString ¶
ToJSONString returns a JSON string encoding data
type FileSystem ¶
type FileSystem struct { }
FileSystem is what can be injected into a subcommand when you need file system access
func (FileSystem) DirExists ¶
func (fileSystem FileSystem) DirExists(path string) bool
DirExists is a helper function to check if a directory exists or not
func (FileSystem) FileExists ¶
func (fileSystem FileSystem) FileExists(path string) bool
FileExists is a helper function to check if a file exists or not
func (FileSystem) PathExists ¶
func (fileSystem FileSystem) PathExists(path string) bool
PathExists is a helper function to check if a path exists or not
func (FileSystem) WriteJSONFile ¶
func (fileSystem FileSystem) WriteJSONFile(path string, data interface{}) error
WriteJSONFile marshals the data into a JSON file
func (FileSystem) WriteJSONFileIfNotExists ¶
func (fileSystem FileSystem) WriteJSONFileIfNotExists(path string, data interface{}) error
WriteJSONFileIfNotExists writes JSON into a file if it doesn't exist yet
func (FileSystem) WriteTextFile ¶
func (fileSystem FileSystem) WriteTextFile(path string, data string) error
WriteTextFile creates a text with with data as its contents
func (FileSystem) WriteTextFileIfNotExists ¶
func (fileSystem FileSystem) WriteTextFileIfNotExists(path string, data string) error
WriteTextFileIfNotExists writes a text file if it doesn't exist yet
type GlobalOptions ¶ added in v1.9.4
GlobalOptions implements the "build" command
type Golang ¶
type Golang struct{}
Golang is what can be injected into a subcommand when you need Go specific items
type Project ¶
type Project struct { FileSystem Path string // contains filtered or unexported fields }
Project defines a Go project based on Go modules
func NewProject ¶
NewProject returns a new Project instance
func (Project) ShortPackageName ¶
ShortPackageName returns the package name for the main package
type Template ¶
type Template struct {
FileSystem
}
Template is what can be injected into a subcommand when you need text templates
func (Template) RenderTextTemplate ¶
RenderTextTemplate renders a text template
type Timer ¶
type Timer struct {
// contains filtered or unexported fields
}
Timer is what can be injected into a subcommand when you need a timer
func (*Timer) PrintElapsed ¶
PrintElapsed prints the elapsed time to stdout
type Version ¶
type Version struct {
CommandRunner
}
Version is used to get version information
func (Version) BranchName ¶
BranchName returns the name of the current branch