task

package module
v3.38.1 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2024 License: MIT Imports: 38 Imported by: 0

README

Task

Task is a task runner / build tool that aims to be simpler and easier to use than, for example, GNU Make.

Installation | Documentation | Twitter | Mastodon | Discord

Documentation

Index

Constants

View Source
const (
	// MaximumTaskCall is the max number of times a task can be called.
	// This exists to prevent infinite loops on cyclic dependencies
	MaximumTaskCall = 1000
)

Variables

View Source
var ErrPreconditionFailed = errors.New("ops: precondition not met")

ErrPreconditionFailed is returned when a precondition fails

Functions

func FilterOutInternal

func FilterOutInternal(task *ast.Task) bool

FilterOutInternal removes all tasks that are marked as internal.

func FilterOutNoDesc

func FilterOutNoDesc(task *ast.Task) bool

FilterOutNoDesc removes all tasks that do not contain a description.

func InitTaskfile

func InitTaskfile(w io.Writer, dir string) error

InitTaskfile Taskfile creates a new Taskfile

func ShouldIgnoreFile

func ShouldIgnoreFile(path string) bool

Types

type Executor

type Executor struct {
	Taskfile *ast.Taskfile

	Dir         string
	Entrypoint  string
	TempDir     TempDir
	Force       bool
	ForceAll    bool
	Insecure    bool
	Download    bool
	Offline     bool
	Timeout     time.Duration
	Watch       bool
	Verbose     bool
	Silent      bool
	AssumeYes   bool
	AssumeTerm  bool // Used for testing
	Dry         bool
	Summary     bool
	Parallel    bool
	Color       bool
	Concurrency int
	Interval    time.Duration

	Stdin  io.Reader
	Stdout io.Writer
	Stderr io.Writer

	Logger         *logger.Logger
	Compiler       *compiler.Compiler
	Output         output.Output
	OutputStyle    ast.Output
	TaskSorter     sort.TaskSorter
	UserWorkingDir string
	// contains filtered or unexported fields
}

Executor executes a Taskfile

func (*Executor) CompiledTask

func (e *Executor) CompiledTask(call *ast.Call) (*ast.Task, error)

CompiledTask returns a copy of a task, but replacing variables in almost all properties using the Go template package.

func (*Executor) FastCompiledTask

func (e *Executor) FastCompiledTask(call *ast.Call) (*ast.Task, error)

FastCompiledTask is like CompiledTask, but it skippes dynamic variables.

func (*Executor) GetHash

func (e *Executor) GetHash(t *ast.Task) (string, error)

func (*Executor) GetTask

func (e *Executor) GetTask(call *ast.Call) (*ast.Task, error)

GetTask will return the task with the name matching the given call from the taskfile. If no task is found, it will search for tasks with a matching alias. If multiple tasks contain the same alias or no matches are found an error is returned.

func (*Executor) GetTaskList

func (e *Executor) GetTaskList(filters ...FilterFunc) ([]*ast.Task, error)

func (*Executor) InterceptInterruptSignals

func (e *Executor) InterceptInterruptSignals()

NOTE(@andreynering): This function intercepts SIGINT and SIGTERM signals so the Task process is not killed immediately and processes running have time to do cleanup work.

func (*Executor) ListTaskNames

func (e *Executor) ListTaskNames(allTasks bool) error

ListTaskNames prints only the task names in a Taskfile. Only tasks with a non-empty description are printed if allTasks is false. Otherwise, all task names are printed.

func (*Executor) ListTasks

func (e *Executor) ListTasks(o ListOptions) (bool, error)

ListTasks prints a list of tasks. Tasks that match the given filters will be excluded from the list. The function returns a boolean indicating whether tasks were found and an error if one was encountered while preparing the output.

func (*Executor) Run

func (e *Executor) Run(ctx context.Context, calls ...*ast.Call) error

Run runs Task

func (*Executor) RunTask

func (e *Executor) RunTask(ctx context.Context, call *ast.Call) error

RunTask runs a task by its name

func (*Executor) Setup

func (e *Executor) Setup() error

func (*Executor) Status

func (e *Executor) Status(ctx context.Context, calls ...*ast.Call) error

Status returns an error if any the of given tasks is not up-to-date

func (*Executor) ToEditorOutput

func (e *Executor) ToEditorOutput(tasks []*ast.Task, noStatus bool) (*editors.Taskfile, error)

type FilterFunc

type FilterFunc func(task *ast.Task) bool

type ListOptions

type ListOptions struct {
	ListOnlyTasksWithDescriptions bool
	ListAllTasks                  bool
	FormatTaskListAsJSON          bool
	NoStatus                      bool
}

ListOptions collects list-related options

func NewListOptions

func NewListOptions(list, listAll, listAsJson, noStatus bool) ListOptions

NewListOptions creates a new ListOptions instance

func (ListOptions) Filters

func (o ListOptions) Filters() []FilterFunc

Filters returns the slice of FilterFunc which filters a list of ast.Task according to the given ListOptions

func (ListOptions) ShouldListTasks

func (o ListOptions) ShouldListTasks() bool

ShouldListTasks returns true if one of the options to list tasks has been set to true

func (ListOptions) Validate

func (o ListOptions) Validate() error

Validate validates that the collection of list-related options are in a valid configuration

type TempDir

type TempDir struct {
	Remote      string
	Fingerprint string
}

Directories

Path Synopsis
cmd
internal
env
exp
This package is intended as a place to copy functions from the golang.org/x/exp package.
This package is intended as a place to copy functions from the golang.org/x/exp package.
ast

Jump to

Keyboard shortcuts

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