Documentation ¶
Index ¶
- Constants
- Variables
- func DeletePluginInfoByIdx(pluginInfos []PluginInfo, idx int) []PluginInfo
- func FileProtocolDownload(url, filePath string) error
- type AcquirePluginExclusiveLockError
- type AcquirePluginSharedLockError
- type AcquirePluginVersionExclusiveLockError
- type AcquirePluginVersionSharedLockError
- type CommonExecuteParams
- type ExecFetchOptions
- type ExecuteParams
- type ExitingError
- func NewDownloadExitingError(cause error, message string) ExitingError
- func NewDumpInstalledPluginsExitingError(cause error) ExitingError
- func NewExecutablePermissionExitingError(cause error, message string) ExitingError
- func NewGetOnlinePackageInfoExitingError(cause error, message string) ExitingError
- func NewLoadInstalledPluginsExitingError(cause error) ExitingError
- func NewMD5CheckExitingError(cause error, message string) ExitingError
- func NewPackageNotFoundExitingError(cause error, message string) ExitingError
- func NewPluginFormatExitingError(cause error, message string) ExitingError
- func NewUnmarshalExitingError(cause error, message string) ExitingError
- func NewUnzipExitingError(cause error, message string) ExitingError
- type Fetched
- type InstallLockGuard
- type OpenPluginLockFileError
- type OpenPluginVersionLockFileError
- type PluginManager
- func (pm *PluginManager) CheckAndReportPlugin(pluginName, pluginVersion, cmdPath string, timeout int, env []string, ...) (status string, err error)
- func (pm *PluginManager) ExecutePlugin(fetchOptions *ExecFetchOptions, executeParams *ExecuteParams) (exitCode int, err error)
- func (pm *PluginManager) List(pluginName string, local bool) (exitCode int, err error)
- func (pm *PluginManager) RemovePlugin(pluginName string) (exitCode int, err error)
- func (pm *PluginManager) ReportPluginStatus(pluginName, pluginVersion, status string, sysTagType string) error
- func (pm *PluginManager) ShowPluginStatus() (exitCode int, err error)
- func (pm *PluginManager) VerifyPlugin(fetchOptions *VerifyFetchOptions, executeParams *ExecuteParams) (exitCode int, err error)
- type VerifyFetchOptions
- type WinDir
Constants ¶
View Source
const ( SUCCESS = 0 // LOCKING_ERR = 232 // Failed to manipulate concurrent locking CHECK_ENDPOINT_FAIL = 233 // check end point fail PACKAGE_NOT_FOUND = 234 // 插件包未找到 PACKAGE_FORMAT_ERR = 235 // 插件包的格式错误,不是zip格式 UNZIP_ERR = 236 // 解压插件包时错误 UNMARSHAL_ERR = 237 // 解析json文件时错误(config.json) PLUGIN_FORMAT_ERR = 238 // 插件格式错误,如config.json或者插件可执行文件缺失,插件与当前系统平台不适配等 MD5_CHECK_FAIL = 239 // MD5校验失败 DOWNLOAD_FAIL = 240 // 下载失败 LOAD_INSTALLEDPLUGINS_ERR = 241 // 读取 installed_plugins文件错误 DUMP_INSTALLEDPLUGINS_ERR = 242 // 保存内容到 installed_plugins文件错误 GET_ONLINE_PACKAGE_INFO_ERR = 243 // 获取线上的插件包信息时错误 EXECUTABLE_PERMISSION_ERR = 244 // linux下赋予脚本可执行权限时错误 REMOVE_FILE_ERR = 245 // 删除文件时错误 EXECUTE_FAILED = 246 // 执行插件失败 EXECUTE_TIMEOUT = 247 // 执行超时 )
退出码
View Source
const ( FetchFromLocalFile = "LocalFile" FetchFromLocalInstalled = "LocalInstalled" FetchFromOnline = "Online" AddSysTag = "add" RemoveSysTag = "remove" )
View Source
const Separator = string(filepath.Separator)
Variables ¶
View Source
var ( ErrorStrMap = map[int]string{ LOCKING_ERR: "LOCKING_ERR", CHECK_ENDPOINT_FAIL: "CHECK_ENDPOINT_FAIL", PACKAGE_NOT_FOUND: "PACKAGE_NOT_FOUND", PACKAGE_FORMAT_ERR: "PACKAGE_FORMAT_ERR", UNZIP_ERR: "UNZIP_ERR", UNMARSHAL_ERR: "UNMARSHAL_ERR", PLUGIN_FORMAT_ERR: "PLUGIN_FORMAT_ERR", MD5_CHECK_FAIL: "MD5_CHECK_FAIL", DOWNLOAD_FAIL: "DOWNLOAD_FAIL", LOAD_INSTALLEDPLUGINS_ERR: "LOAD_INSTALLEDPLUGINS_ERR", DUMP_INSTALLEDPLUGINS_ERR: "DUMP_INSTALLEDPLUGINS_ERR", GET_ONLINE_PACKAGE_INFO_ERR: "GET_ONLINE_PACKAGE_INFO_ERR", EXECUTABLE_PERMISSION_ERR: "EXECUTABLE_PERMISSION_ERR", REMOVE_FILE_ERR: "REMOVE_FILE_ERR", EXECUTE_FAILED: "EXECUTE_FAILED_ERR", EXECUTE_TIMEOUT: "EXECUTE_TIMEOUT_ERR", } ErrPackageNotFound = errors.New("Could not found package") )
View Source
var PLUGINDIR string
Functions ¶
func DeletePluginInfoByIdx ¶
func DeletePluginInfoByIdx(pluginInfos []PluginInfo, idx int) []PluginInfo
DeleteSlice 删除指定元素。
func FileProtocolDownload ¶
Types ¶
type AcquirePluginExclusiveLockError ¶
type AcquirePluginExclusiveLockError struct {
// contains filtered or unexported fields
}
func NewAcquirePluginExclusiveLockError ¶
func NewAcquirePluginExclusiveLockError(cause error) *AcquirePluginExclusiveLockError
func (*AcquirePluginExclusiveLockError) Error ¶
func (e *AcquirePluginExclusiveLockError) Error() string
func (*AcquirePluginExclusiveLockError) Unwrap ¶
func (e *AcquirePluginExclusiveLockError) Unwrap() error
type AcquirePluginSharedLockError ¶
type AcquirePluginSharedLockError struct {
// contains filtered or unexported fields
}
func NewAcquirePluginSharedLockError ¶
func NewAcquirePluginSharedLockError(cause error) *AcquirePluginSharedLockError
func (*AcquirePluginSharedLockError) Error ¶
func (e *AcquirePluginSharedLockError) Error() string
func (*AcquirePluginSharedLockError) Unwrap ¶
func (e *AcquirePluginSharedLockError) Unwrap() error
type AcquirePluginVersionExclusiveLockError ¶
type AcquirePluginVersionExclusiveLockError struct {
// contains filtered or unexported fields
}
func NewAcquirePluginVersionExclusiveLockError ¶
func NewAcquirePluginVersionExclusiveLockError(cause error) *AcquirePluginVersionExclusiveLockError
func (*AcquirePluginVersionExclusiveLockError) Error ¶
func (e *AcquirePluginVersionExclusiveLockError) Error() string
func (*AcquirePluginVersionExclusiveLockError) Unwrap ¶
func (e *AcquirePluginVersionExclusiveLockError) Unwrap() error
type AcquirePluginVersionSharedLockError ¶
type AcquirePluginVersionSharedLockError struct {
// contains filtered or unexported fields
}
func NewAcquirePluginVersionSharedLockError ¶
func NewAcquirePluginVersionSharedLockError(cause error) *AcquirePluginVersionSharedLockError
func (*AcquirePluginVersionSharedLockError) Error ¶
func (e *AcquirePluginVersionSharedLockError) Error() string
func (*AcquirePluginVersionSharedLockError) Unwrap ¶
func (e *AcquirePluginVersionSharedLockError) Unwrap() error
type CommonExecuteParams ¶
type CommonExecuteParams struct { Params string Separator string ParamsV2 string OptionalExecutionTimeoutInSeconds *int }
func (*CommonExecuteParams) SplitArgs ¶
func (ep *CommonExecuteParams) SplitArgs() []string
type ExecFetchOptions ¶
type ExecuteParams ¶
type ExecuteParams struct { CommonExecuteParams Foreground bool }
type ExitingError ¶
func NewDownloadExitingError ¶
func NewDownloadExitingError(cause error, message string) ExitingError
func NewDumpInstalledPluginsExitingError ¶
func NewDumpInstalledPluginsExitingError(cause error) ExitingError
func NewExecutablePermissionExitingError ¶
func NewExecutablePermissionExitingError(cause error, message string) ExitingError
func NewGetOnlinePackageInfoExitingError ¶
func NewGetOnlinePackageInfoExitingError(cause error, message string) ExitingError
func NewLoadInstalledPluginsExitingError ¶
func NewLoadInstalledPluginsExitingError(cause error) ExitingError
func NewMD5CheckExitingError ¶
func NewMD5CheckExitingError(cause error, message string) ExitingError
func NewPackageNotFoundExitingError ¶
func NewPackageNotFoundExitingError(cause error, message string) ExitingError
func NewPluginFormatExitingError ¶
func NewPluginFormatExitingError(cause error, message string) ExitingError
func NewUnmarshalExitingError ¶
func NewUnmarshalExitingError(cause error, message string) ExitingError
func NewUnzipExitingError ¶
func NewUnzipExitingError(cause error, message string) ExitingError
type InstallLockGuard ¶
func (InstallLockGuard) Do ¶
func (g InstallLockGuard) Do(onExclusiveLocked func(), onSharedLocked func()) error
type OpenPluginLockFileError ¶
type OpenPluginLockFileError struct {
// contains filtered or unexported fields
}
func NewOpenPluginLockFileError ¶
func NewOpenPluginLockFileError(cause error) *OpenPluginLockFileError
func (*OpenPluginLockFileError) Error ¶
func (e *OpenPluginLockFileError) Error() string
func (*OpenPluginLockFileError) Unwrap ¶
func (e *OpenPluginLockFileError) Unwrap() error
type OpenPluginVersionLockFileError ¶
type OpenPluginVersionLockFileError struct {
// contains filtered or unexported fields
}
func NewOpenPluginVersionLockFileError ¶
func NewOpenPluginVersionLockFileError(cause error) *OpenPluginVersionLockFileError
func (*OpenPluginVersionLockFileError) Error ¶
func (e *OpenPluginVersionLockFileError) Error() string
func (*OpenPluginVersionLockFileError) Unwrap ¶
func (e *OpenPluginVersionLockFileError) Unwrap() error
type PluginManager ¶
func NewPluginManager ¶
func NewPluginManager(verbose bool) (*PluginManager, error)
func (*PluginManager) CheckAndReportPlugin ¶
func (pm *PluginManager) CheckAndReportPlugin(pluginName, pluginVersion, cmdPath string, timeout int, env []string, sysTagType string) (status string, err error)
检查并上报常驻插件状态
func (*PluginManager) ExecutePlugin ¶
func (pm *PluginManager) ExecutePlugin(fetchOptions *ExecFetchOptions, executeParams *ExecuteParams) (exitCode int, err error)
func (*PluginManager) List ¶
func (pm *PluginManager) List(pluginName string, local bool) (exitCode int, err error)
func (*PluginManager) RemovePlugin ¶
func (pm *PluginManager) RemovePlugin(pluginName string) (exitCode int, err error)
根据插件名称删除插件,会删除该插件的整个目录(包括其中各版本的目录) 一次性插件:直接删除相应的目录并将installed_plugins中对应的插件标记为已删除(isRemoved=true) 常驻型插件:删除之前先调用插件的 --stop和 --uninstall,如果--uninstall退出码非0则不删除,否则像一次性插件一样删除目录并标记
func (*PluginManager) ReportPluginStatus ¶
func (pm *PluginManager) ReportPluginStatus(pluginName, pluginVersion, status string, sysTagType string) error
向服务端上报某个插件状态
func (*PluginManager) ShowPluginStatus ¶
func (pm *PluginManager) ShowPluginStatus() (exitCode int, err error)
打印常驻插件的状态,包括已删除的常驻插件
func (*PluginManager) VerifyPlugin ¶
func (pm *PluginManager) VerifyPlugin(fetchOptions *VerifyFetchOptions, executeParams *ExecuteParams) (exitCode int, err error)
type VerifyFetchOptions ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.