plugin一覧を出力する
// インストールされているプラグイン一覧を取得する
def pluginList = new ArrayList(Jenkins.instance.pluginManager.plugins)
pluginList.sort { it.getShortName() }.each{
plugin ->
println ("${plugin.getShortName()}:${plugin.getVersion()}")
}
// アップデート一覧を出力する
UpdateCenter uc = Jenkins.get().updateCenter
// UpdateSitesのデータ更新
uc.sites.each { site ->
site.updateDirectlyNow()
}
def plugins = Jenkins.get().pluginManager.plugins
plugins.toSorted { l,r -> l.shortName < r.shortName ? -1 : 1 }.collect{ plugin ->
UpdateSite.Plugin updateSitePlugin = uc.getPlugin(plugin.shortName, plugin.versionNumber)
if (plugin.hasUpdate()) {
return """-- ${plugin.shortName}:${plugin.version}
+- ${plugin.shortName}:${updateSitePlugin.version}"""
} else {
return """ - ${plugin.shortName}:${plugin.version}"""
}
}.each{
p -> println(p)
}
println ""
def plugins = Jenkins.get().pluginManager.plugins
plugins.each {
println "${it.shortName} (${it.version}) => ${it.dependencies}"
}
// graphvizを使ってgraphで表示する
def plugins = Jenkins.get().pluginManager.plugins
println "digraph test {"
plugins.each {
def plugin = it.getShortName()
println "\"${plugin}\";"
def deps = it.getDependencies()
deps.each {
def s = it.shortName
println "\"${plugin}\" -> \"${s}\";"
}
}
println "}"