Documentation
¶
Index ¶
- func GetNodeEnvPrefix(node EntryPointNode) string
- func GetNodeProg(node EntryPointNode) string
- func GetNodeProgList(node EntryPointNode) []string
- func RegistSubNode(parent, child EntryPointNode)
- type EntryPoint
- func (ep *EntryPoint) ConfigPtrFromArgparse(parser *argparse.Parser, argv []string) (*string, map[string]interface{}, error)
- func (ep *EntryPoint) GetConfigFromConfigFile() error
- func (ep *EntryPoint) GetEnvPrefix() string
- func (ep *EntryPoint) Parse(argv []string)
- func (ep *EntryPoint) ParseStruct(flagConfptr map[string]interface{}) error
- func (ep *EntryPoint) PassArgs(parser *argparse.Parser, argv []string)
- func (ep EntryPoint) PassArgsTosub(parser *argparse.Parser, argv []string)
- func (ep *EntryPoint) RegistConfig(config EntryPointConfig)
- func (ep *EntryPoint) RegistSubNode(child EntryPointNode)
- func (ep *EntryPoint) VerifyConfig() bool
- type EntryPointConfig
- type EntryPointMeta
- type EntryPointNode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetNodeEnvPrefix ¶ added in v0.0.3
func GetNodeEnvPrefix(node EntryPointNode) string
GetNodeEnvPrefix 获取实际的EnvPrefix
func GetNodeProgList ¶
func GetNodeProgList(node EntryPointNode) []string
GetNodeProgList 获取节点的prog值
Types ¶
type EntryPoint ¶
type EntryPoint struct { *EntryPointMeta Schema []byte // contains filtered or unexported fields }
EntryPoint 节点类
func New ¶
func New(meta *EntryPointMeta, config ...EntryPointConfig) (*EntryPoint, error)
New 创建一个节点对象 @Params meta *EntryPointMeta 为节点的元信息 @params config ...EntryPointConfig 为一个定义好的struct的对象的指针,根节点和中间节点可以不设置,叶子节点如果不设置则无法执行,最多设置一个
func (*EntryPoint) ConfigPtrFromArgparse ¶
func (ep *EntryPoint) ConfigPtrFromArgparse(parser *argparse.Parser, argv []string) (*string, map[string]interface{}, error)
ConfigPtrFromArgparse 构造命令行参数解析,并获取flag的ptr @Params parser *argparse.Parser flag解析器 @Params argv []string 待解析的命令行参数 @Returns *string 指定configfile位置字符串 @Returns map[string]interface{} flag的ptr位置 @Returns error 错误信息
func (*EntryPoint) GetConfigFromConfigFile ¶
func (ep *EntryPoint) GetConfigFromConfigFile() error
GetConfigFromConfigFile 从设置的或者默认配置文件中获取配置
func (*EntryPoint) GetEnvPrefix ¶ added in v0.0.3
func (ep *EntryPoint) GetEnvPrefix() string
GetEnvPrefix 获取实际的EnvPrefix
func (*EntryPoint) ParseStruct ¶
func (ep *EntryPoint) ParseStruct(flagConfptr map[string]interface{}) error
ParseStruct 解析结构体,构造命令行参数解析和环境变量解析,并设置到对象的Config值中 @Params flagConfptr map[string]interface{} 命令行参数除了指定的配置文件位置外的参数->值的指针的映射 @Returns error 解析过程中的错误
func (*EntryPoint) PassArgs ¶
func (ep *EntryPoint) PassArgs(parser *argparse.Parser, argv []string)
PassArgs 解析叶子节点 @Params parser *argparse.Parser 命令行参数解析器对象 @Params argv []string 待解析的命令行参数
func (EntryPoint) PassArgsTosub ¶
func (ep EntryPoint) PassArgsTosub(parser *argparse.Parser, argv []string)
PassArgsTosub 将解析传导给子节点
func (*EntryPoint) RegistConfig ¶
func (ep *EntryPoint) RegistConfig(config EntryPointConfig)
RegistConfig 将对象注册进节点 如果创建时没有设置,那么可以用这个方法设置,
func (*EntryPoint) RegistSubNode ¶
func (ep *EntryPoint) RegistSubNode(child EntryPointNode)
RegistSubNode 将一个节点注册为当前节点的子节点 @Params child EntryPointNode 节点对象,注意必须传入的是指针
func (*EntryPoint) VerifyConfig ¶
func (ep *EntryPoint) VerifyConfig() bool
VerifyConfig 验证config是否符合要求
type EntryPointMeta ¶
type EntryPointMeta struct { Name string //节点名 Description string //节点简介 Usage string //节点用法介绍 DefaultConfigFilePaths []string //节点执行的默认配置文件路径列表 LoadAllConfigFile bool //是否加载全部配置文件,否则找到第一个后就停止搜索 NotParseEnv bool //是否不解析环境变量 EnvPrefix string //解析环境变量时的前缀 NotVerifySchema bool //是否不校验配置的schema DebugMode bool //当设置为debugmode时才会打印中间过程的log // contains filtered or unexported fields }
EntryPointMeta 节点的元数据类
func (*EntryPointMeta) IsEndpoint ¶
func (ep *EntryPointMeta) IsEndpoint() bool
IsEndpoint 判断节点是否为叶子节点
func (*EntryPointMeta) SetChild ¶
func (ep *EntryPointMeta) SetChild(child EntryPointNode)
SetChild 为节点设置子节点 @Params child EntryPointNode 要作为子节点的节点
func (*EntryPointMeta) SetParent ¶
func (ep *EntryPointMeta) SetParent(parent EntryPointNode)
SetParent 为节点设置父节点 @Params parent EntryPointNode 要作为父节点的节点
type EntryPointNode ¶
type EntryPointNode interface { Meta() *EntryPointMeta IsRoot() bool IsEndpoint() bool SetChild(EntryPointNode) SetParent(EntryPointNode) Parse([]string) }
EntryPointNode 节点接口