Documentation ¶
Index ¶
- Constants
- type Plugin
- type PluginManager
- func (pm *PluginManager) AddPlugin(plugin *Plugin)
- func (pm *PluginManager) AddPluginWithUrl(pluginName string, url string)
- func (pm *PluginManager) AddPluginWithVersion(pluginName string, version string)
- func (pm *PluginManager) CleanPlugins()
- func (pm *PluginManager) CleanUpdatedPlugins()
- func (p *PluginManager) DeletePlugin(pluginName string)
- func (pm *PluginManager) FixPluginDependencies() map[string]Plugin
- func (pm *PluginManager) FixWarnings()
- func (pm *PluginManager) GenerateFileOutputPluginManager() []byte
- func (pm *PluginManager) GenerateFileOutputUpdatedPlugins() []byte
- func (pm *PluginManager) GetCoreVersion() string
- func (pm *PluginManager) GetFixedDepsDiff() []diffPlugins
- func (pm *PluginManager) GetPlugin(name string) *Plugin
- func (pm *PluginManager) GetPlugins() map[string]*Plugin
- func (pm *PluginManager) GetUpdatedPlugins() map[string]*Plugin
- func (pm *PluginManager) LoadDependenciesFromUpdateCenter(p *Plugin) map[string]Plugin
- func (pm *PluginManager) LoadPluginData(p *Plugin)
- func (pm *PluginManager) LoadWarnings()
- func (pm *PluginManager) SetCoreVersion(newCoreVersion string)
- func (pm *PluginManager) SetFileOutput(og outputGenerators.FileGenerator)
- func (pm *PluginManager) SetFileParser(parser parsers.InputParser)
- func (pm *PluginManager) SetUpdatedPluginWithVersion(pluginName string, pluginVersion string)
- type Warnings
Constants ¶
const ( UNKNOWN pluginChangedType = iota NEW_PLUGIN UPDATED_PLUGIN // used as dependency for some plugins NO_CHANGED_PLUGIN // no one rely on it as dep )
const JENKINS_PLUGINS_URL = "https://updates.jenkins.io"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin struct { Name string Version string Url string RequiredCoreVersion string Dependencies map[string]Plugin RequiredBy map[string]string Optional bool // rely on parent plugin Warnings []Warnings GITUrl string LatestVersion string InstalledVersion string }
func NewPluginWithUrl ¶
Create Plugin from name and url
func NewPluginWithVersion ¶
Create Plugin from name and version
func (*Plugin) GetManifestAttrs ¶
func (*Plugin) LoadDependenciesFromManifest ¶
Loads dependencies from hpi file manifest into Plugin struct
type PluginManager ¶
type PluginManager struct { Plugins map[string]*Plugin // Main list where we have plugins. We use map to speedup get set find UpdatedPlugins map[string]*Plugin // Temp storage. will set this after update/fix deps JenkinsSite jenkinsSite.JenkinsSite // external. jenkins site main struct UpdateCenter jenkinsSite.UpdateCenter // external. from jenkins api. plugin latest version + deprecations + deps for plugin from JenkinsSite PluginVersions jenkinsSite.PluginVersions // external. from jenkins api. plugins data with versions from JenkinsSite // release notes sources PluginSite jenkins.PluginSite // jenkins site which has release notes (last 10) GitHubClient github.GitHub // github client to get release notes // file read/write logic FileParser parsers.InputParser // parses txt file into plugin-manager plugins FileOutput outputGenerators.FileGenerator // plugin-manager plugins into file content // contains filtered or unexported fields }
func NewPluginManager ¶
func NewPluginManager() PluginManager
func (*PluginManager) AddPlugin ¶ added in v0.1.2
func (pm *PluginManager) AddPlugin(plugin *Plugin)
func (*PluginManager) AddPluginWithUrl ¶ added in v0.1.2
func (pm *PluginManager) AddPluginWithUrl(pluginName string, url string)
func (*PluginManager) AddPluginWithVersion ¶
func (pm *PluginManager) AddPluginWithVersion(pluginName string, version string)
func (*PluginManager) CleanPlugins ¶ added in v0.1.1
func (pm *PluginManager) CleanPlugins()
func (*PluginManager) CleanUpdatedPlugins ¶ added in v0.1.1
func (pm *PluginManager) CleanUpdatedPlugins()
func (*PluginManager) DeletePlugin ¶
func (p *PluginManager) DeletePlugin(pluginName string)
will try to delete plugin from list if no one rely as dep on this plugin
func (*PluginManager) FixPluginDependencies ¶
func (pm *PluginManager) FixPluginDependencies() map[string]Plugin
TODO: this function might add new version or new plugin and we dont have data like url + deps etc for it Will get plugin dependencies for plugin list and return result back to PluginManager struct Will replace version of plugin if dep version > current version Used LoadDependenciesFromManifest function as source of versions/plugin so will download hpi files
func (*PluginManager) FixWarnings ¶
func (pm *PluginManager) FixWarnings()
func (*PluginManager) GenerateFileOutputPluginManager ¶ added in v0.1.1
func (pm *PluginManager) GenerateFileOutputPluginManager() []byte
func (*PluginManager) GenerateFileOutputUpdatedPlugins ¶ added in v0.1.1
func (pm *PluginManager) GenerateFileOutputUpdatedPlugins() []byte
func (*PluginManager) GetCoreVersion ¶
func (pm *PluginManager) GetCoreVersion() string
func (*PluginManager) GetFixedDepsDiff ¶
func (pm *PluginManager) GetFixedDepsDiff() []diffPlugins
Get diff current plugins and updatedPlugins
func (*PluginManager) GetPlugin ¶ added in v0.1.3
func (pm *PluginManager) GetPlugin(name string) *Plugin
func (*PluginManager) GetPlugins ¶
func (pm *PluginManager) GetPlugins() map[string]*Plugin
func (*PluginManager) GetUpdatedPlugins ¶ added in v0.1.1
func (pm *PluginManager) GetUpdatedPlugins() map[string]*Plugin
func (*PluginManager) LoadDependenciesFromUpdateCenter ¶ added in v0.1.2
func (pm *PluginManager) LoadDependenciesFromUpdateCenter(p *Plugin) map[string]Plugin
Loads dependencies from jenkins update center into Plugin struct
func (*PluginManager) LoadPluginData ¶ added in v0.1.2
func (pm *PluginManager) LoadPluginData(p *Plugin)
func (*PluginManager) LoadWarnings ¶
func (pm *PluginManager) LoadWarnings()
Load plugins warnings into PluginManager struct
func (*PluginManager) SetCoreVersion ¶
func (pm *PluginManager) SetCoreVersion(newCoreVersion string)
func (*PluginManager) SetFileOutput ¶
func (pm *PluginManager) SetFileOutput(og outputGenerators.FileGenerator)
func (*PluginManager) SetFileParser ¶
func (pm *PluginManager) SetFileParser(parser parsers.InputParser)
func (*PluginManager) SetUpdatedPluginWithVersion ¶ added in v0.1.1
func (pm *PluginManager) SetUpdatedPluginWithVersion(pluginName string, pluginVersion string)