mage

package
v2.2.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2018 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckDupes

func CheckDupes(info *parse.PkgInfo) (hasDupes bool, names map[string][]string)

CheckDupes checks a package for duplicate target names.

func Compile

func Compile(path string, stdout, stderr io.Writer, gofiles []string) error

Compile uses the go tool to compile the files into an executable at path.

func ExeName

func ExeName(files []string) (string, error)

ExeName reports the executable filename that this version of Mage would create for the given magefiles.

func GenerateMainfile

func GenerateMainfile(path string, info *parse.PkgInfo) error

GenerateMainfile creates the mainfile at path with the info from

func Invoke

func Invoke(inv Invocation) int

Invoke runs Mage with the given arguments.

func Magefiles

func Magefiles(dir string) ([]string, error)

Magefiles returns the list of magefiles in dir.

func Main

func Main() int

Main is the entrypoint for running mage. It exists external to mage's main function to allow it to be used from other programs, specifically so you can go run a simple file that run's mage's Main.

func Parse

func Parse(stdout io.Writer, args []string) (inv Invocation, cmd Command, err error)

Parse parses the given args and returns structured data. If parse returns flag.ErrHelp, the calling process should exit with code 0.

func ParseAndRun

func ParseAndRun(dir string, stdout, stderr io.Writer, stdin io.Reader, args []string) int

ParseAndRun parses the command line, and then compiles and runs the mage files in the given directory with the given args (do not include the command name in the args).

func RunCompiled

func RunCompiled(inv Invocation, exePath string) int

RunCompiled runs an already-compiled mage command with the given args,

Types

type Command

type Command int

Command tracks invocations of mage that run without targets or other flags.

const (
	None          Command = iota
	Version               // report the current version of mage
	Init                  // create a starting template for mage
	Clean                 // clean out old compiled mage binaries from the cache
	CompileStatic         // compile a static binary of the current directory
)

func (Command) String

func (i Command) String() string

type Invocation

type Invocation struct {
	Dir        string        // directory to read magefiles from
	Force      bool          // forces recreation of the compiled binary
	Verbose    bool          // tells the magefile to print out log statements
	List       bool          // tells the magefile to print out a list of targets
	Help       bool          // tells the magefile to print out help for a specific target
	Keep       bool          // tells mage to keep the generated main file after compiling
	Timeout    time.Duration // tells mage to set a timeout to running the targets
	CompileOut string        // tells mage to compile a static binary to this path, but not execute
	Stdout     io.Writer     // writer to write stdout messages to
	Stderr     io.Writer     // writer to write stderr messages to
	Stdin      io.Reader     // reader to read stdin from
	Args       []string      // args to pass to the compiled binary
}

Invocation contains the args for invoking a run of Mage.

Jump to

Keyboard shortcuts

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