Documentation ¶
Index ¶
- Constants
- Variables
- func PackageNameToShort(packageName string) string
- type Badge
- type CommandRunner
- func (commandRunner CommandRunner) RunInteractive(cmdLine []string, workdir string, env map[string]string) error
- func (commandRunner CommandRunner) RunProjectHook(project Project, hookName string, args james.BuildArgs) error
- func (commandRunner CommandRunner) RunReturnOutput(cmdLine []string, workdir string, env map[string]string) (string, error)
- func (commandRunner CommandRunner) RunScriptIfExistsReturnOutput(scriptPath string, args james.BuildArgs, workdir string, env map[string]string) (string, error)
- func (commandRunner CommandRunner) RunScriptReturnOutput(scriptPath string, args james.BuildArgs, workdir string, env map[string]string) (string, error)
- func (commandRunner CommandRunner) RunScriptToStdout(scriptPath string, args james.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 Golang
- type Logging
- 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 ( // ErrEmptyCommand is returned when the command is empty ErrEmptyCommand = errors.New("No command specified") )
Functions ¶
func PackageNameToShort ¶ added in v1.1.0
PackageNameToShort converts a package name to it's short version
Types ¶
type Badge ¶ added in v1.1.0
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 ¶ added in v1.1.0
MarkdownString returns the badge as a Markdown string
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 ¶ added in v0.6.0
func (commandRunner CommandRunner) RunProjectHook(project Project, hookName string, args james.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 ¶ added in v0.6.0
func (commandRunner CommandRunner) RunScriptIfExistsReturnOutput(scriptPath string, args james.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 ¶ added in v0.6.0
func (commandRunner CommandRunner) RunScriptReturnOutput(scriptPath string, args james.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 ¶ added in v0.6.0
func (commandRunner CommandRunner) RunScriptToStdout(scriptPath string, args james.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 ¶ added in v0.6.0
type Encoding struct{}
Encoding is what can be injected into a subcommand when you need encoding-related items
func (Encoding) ToFormattedString ¶ added in v0.6.0
ToFormattedString returns a JSON formatted string encoding data
func (Encoding) ToJSONString ¶ added in v0.6.0
ToJSONString returns a JSON string encoding data
type FileSystem ¶
type FileSystem struct {
Logging
}
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 ¶ added in v0.6.0
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 Golang ¶
type Golang struct{}
Golang is what can be injected into a subcommand when you need Go specific items
type Logging ¶
type Logging struct{}
Logging is what can be injected into a subcommand when you need logging
func (Logging) LogError ¶
func (logging Logging) LogError(args ...interface{})
LogError logs an error
func (Logging) LogErrorInDebugMode ¶
func (logging Logging) LogErrorInDebugMode(args ...interface{})
LogErrorInDebugMode logs an error when running in debug mode
func (Logging) LogInfo ¶
func (logging Logging) LogInfo(args ...interface{})
LogInfo logs an info message
func (Logging) LogPathCreation ¶
LogPathCreation logs the creation of a file path
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) Badges ¶ added in v1.1.0
Badges returns the list of badges which should be shown for the project
func (Project) Package ¶ added in v1.1.0
Package gets the main package of the project from the go.mod file
func (Project) ShortPackageName ¶ added in v1.1.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
PrintElapsed prints the elapsed time to stdout
type Version ¶ added in v1.6.0
type Version struct {
CommandRunner
}
Version is used to get version information
func (Version) BranchName ¶ added in v1.6.0
BranchName returns the name of the current branch