parse

package
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: May 11, 2023 License: Apache-2.0 Imports: 13 Imported by: 11

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnableDebug added in v1.4.0

func EnableDebug()

EnableDebug turns on debug logging.

Types

type Arg added in v1.11.0

type Arg struct {
	Name, Type string
}

Arg is an argument to a Function.

type Function

type Function struct {
	PkgAlias   string
	Package    string
	ImportPath string
	Name       string
	Receiver   string
	IsError    bool
	IsContext  bool
	Synopsis   string
	Comment    string
	Args       []Arg
}

Function represented a job function from a mage file

func (Function) ExecCode added in v1.7.0

func (f Function) ExecCode() string

ExecCode returns code for the template switch to run the target. It wraps each target call to match the func(context.Context) error that runTarget requires.

func (Function) ID added in v1.7.0

func (f Function) ID() string

ID returns user-readable information about where this function is defined.

func (Function) TargetName added in v1.7.0

func (f Function) TargetName() string

TargetName returns the name of the target as it should appear when used from the mage cli. It is always lowercase.

type Functions added in v1.12.0

type Functions []*Function

Functions implements sort interface to optimize compiled output with deterministic generated mainfile.

func (Functions) Len added in v1.12.0

func (s Functions) Len() int

func (Functions) Less added in v1.12.0

func (s Functions) Less(i, j int) bool

func (Functions) Swap added in v1.12.0

func (s Functions) Swap(i, j int)

type Import added in v1.8.0

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

Import represents the data about a mage:import package

type Imports added in v1.12.0

type Imports []*Import

Imports implements sort interface to optimize compiled output with deterministic generated mainfile.

func (Imports) Len added in v1.12.0

func (s Imports) Len() int

func (Imports) Less added in v1.12.0

func (s Imports) Less(i, j int) bool

func (Imports) Swap added in v1.12.0

func (s Imports) Swap(i, j int)

type PkgInfo

type PkgInfo struct {
	AstPkg      *ast.Package
	DocPkg      *doc.Package
	Description string
	Funcs       Functions
	DefaultFunc *Function
	Aliases     map[string]*Function
	Imports     Imports
}

PkgInfo contains inforamtion about a package of files according to mage's parsing rules.

func Package

func Package(path string, files []string) (*PkgInfo, error)

Package compiles information about a mage package.

func PrimaryPackage added in v1.8.0

func PrimaryPackage(gocmd, path string, files []string) (*PkgInfo, error)

PrimaryPackage parses a package. If files is non-empty, it will only parse the files given.

Jump to

Keyboard shortcuts

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