models

package
v0.0.0-...-594a04b Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Help

func Help(configuration *Configuration)

func PrintHelpGroupTasks

func PrintHelpGroupTasks(groupTasks []string, configuration *Configuration, indentCount int)

func UpdateData

func UpdateData(sourceMap map[string]string, newMap map[string]string)

Types

type Command

type Command struct {
	Command string `json:"command" yaml:"command"`

	Conditions []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
}

func (Command) Help

func (command Command) Help(indentCount int)

func (Command) IsAllowed

func (command Command) IsAllowed(configuration *Configuration, contextData map[string]string) bool

type Condition

type Condition struct {
	Variable  string `json:"variable" yaml:"variable"`
	Value     string `json:"value" yaml:"value"`
	Allowance bool   `json:"allowance" yaml:"allowance"`
}

func (Condition) Help

func (condition Condition) Help(indentCount int)

func (Condition) HelpString

func (condition Condition) HelpString() string

type ConfigFile

type ConfigFile struct {
	Envs     []string `json:"envs" yaml:"envs"`
	EnvFiles []string `json:"env_files" yaml:"env_files"`
	Tasks    []Task   `json:"tasks" yaml:"tasks"`
}

func (*ConfigFile) Combine

func (configFile *ConfigFile) Combine(newConfigFile ConfigFile) ConfigFile

func (*ConfigFile) TaskNames

func (configFile *ConfigFile) TaskNames() []string

type Configuration

type Configuration struct {
	Params map[string]Parameter
	Envs   []string

	Tasks             map[string]Task
	TaskGroups        map[string][]string
	ConfigurationData ConfigurationData
}

func BuildConfiguration

func BuildConfiguration(configFiles []ConfigFile, configurationData ConfigurationData) *Configuration

func (*Configuration) HasFlag

func (configuration *Configuration) HasFlag(flag string) bool

func (*Configuration) RunTask

func (configuration *Configuration) RunTask(taskName string) (string, error)

type ConfigurationData

type ConfigurationData struct {
	Flags       []string
	ContextData map[string]string
}

func (*ConfigurationData) AddFlag

func (configurationData *ConfigurationData) AddFlag(flag string)

func (*ConfigurationData) HasFlag

func (configurationData *ConfigurationData) HasFlag(flag string) bool

type Executable

type Executable interface {
	IsAllowed(configuration *Configuration) bool
	Run(configuration *Configuration) (string, error)
	Help(configuration *Configuration)
}

type Parameter

type Parameter struct {
	Name    string `json:"name" yaml:"name"`
	Default string `json:"default" yaml:"default"`
}

func (Parameter) Help

func (param Parameter) Help(indentCount int)

func (Parameter) HelpString

func (param Parameter) HelpString() string

type Task

type Task struct {
	Name        string `json:"name" yaml:"name"`
	Group       string `json:"group" yaml:"group"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Hidden      bool   `json:"hidden" yaml:"hidden"`

	Commands []Command `json:"commands" yaml:"commands"`
	Async    bool      `json:"async" yaml:"async"`

	Conditions []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
	Params     []Parameter `json:"params,omitempty" yaml:"params,omitempty"`

	ContextData map[string]string
}

func (Task) Help

func (task Task) Help(indentCount int, detailed bool)

func (*Task) IsAllowed

func (task *Task) IsAllowed(configuration *Configuration) bool

func (Task) RunCommand

func (task Task) RunCommand(index int, configuration *Configuration, contextData map[string]string) (string, error)

func (*Task) SetContextData

func (task *Task) SetContextData(configuration *Configuration)

Jump to

Keyboard shortcuts

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