cmdhandle

package
v0.1.3-alpha Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2021 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ExitOk the process was executed without errors
	ExitOk = 0
	// ExitByStopReason the process stopped because of a defined reason
	ExitByStopReason = 101
	// ExitNoCode means there was no code associated
	ExitNoCode = 102
	// ExitCmdError means the execution of the command fails. a error by the command itself
	ExitCmdError = 103
	// ExitByRequirement means a requirement was not fulfills
	ExitByRequirement = 104
	// ExitAlreadyRunning means the task is not started, because it is already created
	ExitAlreadyRunning = 105
)
View Source
const (
	// DefaultExecFile is the filename of the script defaut file
	DefaultExecFile = "/.context.json"

	// DefaultExecYaml is the default yaml configuration file
	DefaultExecYaml = "/.contxt.yml"

	// TargetScript is script default target
	TargetScript = "script"

	// InitScript is script default target
	InitScript = "init"

	// ClearScript is script default target
	ClearScript = "clear"

	// TestScript is teh test target
	TestScript = "test"

	// DefaultCommandFallBack is used if no command is defined
	DefaultCommandFallBack = "bash"

	// On windows we have a different default
	DefaultCommandFallBackWindows = "powershell"
)

Variables

This section is empty.

Functions

func AddData

func AddData(key string, data map[string]interface{})

AddData adds a Data Map to the storage

func AddJSON

func AddJSON(key, jsonString string) error

AddJSON imports data by a json String

func BashUser

func BashUser()

func CheckUseConfig

func CheckUseConfig(externalUseCase string) (string, error)

func ClearAll

func ClearAll()

ClearAll removes all entries

func ClearAllData

func ClearAllData()

ClearAllData removes all entries

func CreateImport

func CreateImport(path string, pathToAdd string) error

CreateImport creates import settings

func CreateMirror

func CreateMirror(path string)

CreateMirror creates nested directories

func ExecPathFile

func ExecPathFile(waitGroup *sync.WaitGroup, useWaitGroup bool, template configure.RunConfig, target string) int

ExecPathFile executes the default exec file

func ExecuteScriptLine

func ExecuteScriptLine(ShellToUse string, cmdArg []string, command string, callback func(string) bool, startInfo func(*os.Process)) (int, int, error)

ExecuteScriptLine executes a simple shell script returns internal exitsCode, process existcode, error

func ExecuteTemplateWorker

func ExecuteTemplateWorker(waitGroup *sync.WaitGroup, useWaitGroup bool, target string, template configure.RunConfig)

ExecuteTemplateWorker runs ExecCurrentPathTemplate in context of a waitgroup

func FindTemplate

func FindTemplate() (string, bool)

FindTemplate searchs for Template files in different spaces

func FishCompletionUpdate

func FishCompletionUpdate(cmd *cobra.Command)

func FishFunctionUpdate

func FishFunctionUpdate()

func FishUpdate

func FishUpdate(cmd *cobra.Command)

func GetData

func GetData(key string) (bool, map[string]interface{})

GetData returns a data Map by the key. or nil if nothing is stored

func GetDataKeys

func GetDataKeys() []string

GetDataKeys returns all current keys

func GetDefaultCmd

func GetDefaultCmd() string

func GetDefaultCmdOpts

func GetDefaultCmdOpts(ShellToUse string, cmdArg []string) []string

func GetExecDefaults

func GetExecDefaults() (string, []string)

func GetJSONPathResult

func GetJSONPathResult(key, path string) (gjson.Result, bool)

GetJSONPathResult returns the value depending key and path as string

func GetJSONPathValueString

func GetJSONPathValueString(key, path string) string

GetJSONPathValueString returns the value depending key and path as string

func GetLogger

func GetLogger() *logrus.Logger

GetLogger is the main Logger instance

func GetOriginMap

func GetOriginMap() map[string]interface{}

func GetPH

func GetPH(key string) string

GetPH the content of the key. but at least a empty string if not exists. so this is not usefull to test if the PH was set.

func GetPHExists

func GetPHExists(key string) (string, bool)

GetPH the content of the key as string. if exists.

func GetParsedTemplateSource

func GetParsedTemplateSource(path string) (string, error)

GetParsedTemplateSource Returns the soucecode of the template including parsing placeholders

func GetPwdTemplate

func GetPwdTemplate(path string) (configure.RunConfig, error)

GetPwdTemplate returns the template path if exists. it also parses the content of the template against imports and handles them

func GetTemplate

func GetTemplate() (configure.RunConfig, string, bool)

GetTemplate return current template

func HandleJSONMap

func HandleJSONMap(tmpl string, m map[string]interface{}) (string, error)

HandleJSONMap parsing json content for text/template

func HandlePlaceHolder

func HandlePlaceHolder(line string) string

HandlePlaceHolder replaces all defined placeholders

func HandleUsecase

func HandleUsecase(externalUseCase string) string

func ImportDataFromJSONFile

func ImportDataFromJSONFile(key string, filename string) error

ImportDataFromJSONFile imports a map from a json file and assign it to a key

func ImportDataFromYAMLFile

func ImportDataFromYAMLFile(key string, filename string) error

ImportDataFromYAMLFile imports a map from a json file and assign it to a key

func ImportFileContent

func ImportFileContent(filename string) (string, error)

ImportFileContent imports a file and returns content as string

func ImportFolder

func ImportFolder(path string, templatePath string) (map[string]interface{}, error)

ImportFolder reads folder recursiv and reads all .json, .yml and .yaml files

func ImportFolders

func ImportFolders(templatePath string, paths ...string) (string, error)

ImportFolders import a list of folders recusiv

func ImportJSONFile

func ImportJSONFile(fileName string) (map[string]interface{}, error)

ImportJSONFile imports a json file for reading

func ImportYAMLFile

func ImportYAMLFile(filename string) (map[string]interface{}, error)

ImportYAMLFile imports a yaml file as used for json map

func InitDefaultVars

func InitDefaultVars()

func LintOut

func LintOut(leftcnt, rightcnt int, all bool)

LintOut prints the source code and the parsed content in a table view, and marks configured and not configured entries with dfferent colors

func ListUseCases

func ListUseCases(fullPath bool) ([]string, error)

func LoadIncTempalte

func LoadIncTempalte(path string) (string, bool)

LoadIncTempalte check if .inc.contxt.yml files exists and if this is the case the content will be loaded and all defined paths used to get values for parsing the template file

func MainExecute

func MainExecute()

MainExecute runs main. parsing flags

func MergeVariableMap

func MergeVariableMap(mapin map[string]interface{}, maporigin map[string]interface{}) map[string]interface{}

MergeVariableMap merges two maps

func ResetAllTaskInfos

func ResetAllTaskInfos()

ResetAllTaskInfos resets all task infos

func RunShared

func RunShared(targets string)

func RunTargets

func RunTargets(targets string, sharedRun bool)

RunTargets executes multiple targets

func SetIfNotExists

func SetIfNotExists(key, value string)

func SetPH

func SetPH(key, value string)

SetPH add key value pair

func SharedFolderExecuter

func SharedFolderExecuter(template configure.RunConfig, locationHandle func(string, string))

func ShowAsYaml

func ShowAsYaml()

ShowAsYaml prints the generated source of the task file

func StringMatchTest

func StringMatchTest(pattern, value string) bool

StringMatchTest test a pattern and a value. in this example: myvar: "=hello" the patter is "=hello" and the value should be "hello" for a match

func StripContxtUseDir

func StripContxtUseDir(path string) string

func TaskExists

func TaskExists(target string) bool

TaskExists checks if a tak is already created

func TaskRunning

func TaskRunning(target string) bool

TaskRunning checks if a task is already running

func TryParse

func TryParse(script []string, regularScript func(string) (bool, int)) (bool, int, []string)

TryParse to parse a line and set a value depending on the line command

func UpdateOriginMap

func UpdateOriginMap(mapData map[string]interface{})

func UpdateUseCase

func UpdateUseCase(fullPath string)

func UserDirectory

func UserDirectory() (string, error)

func WaitForTasksDone

func WaitForTasksDone(tasks []string, timeOut, tickTime time.Duration, stillWait func() bool, isDone func(), timeOutHandle func(), notStartet func(string) bool)

WaitForTasksDone waits until all the task are done triggers a callback for any tick and one if the state DONE is reached there is an timeout as maximum time to wait if this time is reached the process will be continued and the timeout callback is triggered the callback for notStarted must return true if they handle this issue. on returning false it will be counted as isDone

func WriteFileIfNotExists

func WriteFileIfNotExists(filename, content string) (int, error)

func WriteTemplate

func WriteTemplate()

WriteTemplate create path based execution file

func YAMLToMap

func YAMLToMap(source string) (map[string]interface{}, error)

YAMLToMap Convert yaml source string into map

func ZshUpdate

func ZshUpdate(cmd *cobra.Command)

func ZshUser

func ZshUser()

Types

type TaskDef

type TaskDef struct {
	// contains filtered or unexported fields
}

TaskDef holds information about running and finished tasks

Jump to

Keyboard shortcuts

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