mage: github.com/magefile/mage/mage Index | Files

package mage

import "github.com/magefile/mage/mage"

Index

Package Files

command_string.go magefile_tmpl.go main.go template.go

func Compile Uses

func Compile(magePath, goCmd, compileTo string, gofiles []string, isDebug bool, stderr, stdout io.Writer) error

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

func ExeName Uses

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

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

func GenerateMainfile Uses

func GenerateMainfile(binaryName, path string, info *parse.PkgInfo, imports []*Import) error

GenerateMainfile generates the mage mainfile at path.

func Invoke Uses

func Invoke(inv Invocation) int

Invoke runs Mage with the given arguments.

func Magefiles Uses

func Magefiles(magePath, goCmd string, stderr io.Writer, isDebug bool) ([]string, error)

Magefiles returns the list of magefiles in dir.

func Main Uses

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 Uses

func Parse(stderr, 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 Uses

func ParseAndRun(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 Uses

func RunCompiled(inv Invocation, exePath string, errlog *log.Logger) int

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

type Command Uses

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
)

The various command types

func (Command) String Uses

func (i Command) String() string

type Import Uses

type Import struct {
    Alias      string
    Name       string
    UniqueName string // a name unique across all imports
    Path       string
    Info       parse.PkgInfo
}

type Invocation Uses

type Invocation struct {
    Debug      bool          // turn on debug messages
    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
    GoCmd      string        // the go binary command to run
    CacheDir   string        // the directory where we should store compiled binaries
}

Invocation contains the args for invoking a run of Mage.

Package mage imports 21 packages (graph) and is imported by 2 packages. Updated 2018-12-10. Refresh now. Tools for package owners.