Size of XWiki Distributions
Last modified by Vincent Massol on 2024/12/12 10:46
Graphes evolution of the XWiki distributions over time |
Type | Snippet |
Category | |
Developed by | Unknown |
Rating | |
License | GNU Lesser General Public License 2.1 |
Table of contents
Description
Computes evolution of the XWiki HSQLDB/Jetty distribution over time, starting with 1.1.1.
{{groovy}}
import groovy.xml.*
import java.lang.module.ModuleDescriptor
def tagsoupParser = new org.ccil.cowan.tagsoup.Parser()
def slurper = new XmlSlurper(tagsoupParser)
def data = [:]
void parseURL(def data, def slurper, def url)
{
def html = slurper.parse(url)
html.body.a.findAll { it.@href =~ '^[0-9]+' }.'@href'*.text().each() {
def version = it[0..-2]
if (!version.contains("-milestone") && !version.contains("-rc")) {
// Get size by parsing version page
def pageHtml = slurper.parse("${url}/${version}/")
pageHtml.body.text().split(/(\n)/).findAll { it =~ '\\.zip ' }.each {
data.put(version, it.split()[3])
}
}
}
}
parseURL(data, slurper, "https://maven.xwiki.org/releases/com/xpn/xwiki/products/xwiki-enterprise-hsqldb/")
parseURL(data, slurper, "https://maven.xwiki.org/releases/com/xpn/xwiki/products/xwiki-enterprise-jetty-hsqldb/")
parseURL(data, slurper, "https://maven.xwiki.org/releases/org/xwiki/enterprise/xwiki-enterprise-jetty-hsqldb/")
parseURL(data, slurper, "https://maven.xwiki.org/releases/org/xwiki/platform/xwiki-platform-distribution-flavor-jetty-hsqldb")
data = data.sort { v1, v2 -> ModuleDescriptor.Version.parse(v1.key).compareTo(ModuleDescriptor.Version.parse(v2.key))}
println "|=Version|=Size"
data.each { version, size ->
println "|${version}|${size}"
}
println ""
println "{{chart type='line' source='inline' params='range:B1-B${data.size()};series:columns;' title='Size of XWiki Jetty/HSQLDB Distributions' width='1000' height='400'}}"
data.each { version, size ->
println "|${version}|${size[0..-2]}"
}
println "{{/chart}}"
{{/groovy}}
import groovy.xml.*
import java.lang.module.ModuleDescriptor
def tagsoupParser = new org.ccil.cowan.tagsoup.Parser()
def slurper = new XmlSlurper(tagsoupParser)
def data = [:]
void parseURL(def data, def slurper, def url)
{
def html = slurper.parse(url)
html.body.a.findAll { it.@href =~ '^[0-9]+' }.'@href'*.text().each() {
def version = it[0..-2]
if (!version.contains("-milestone") && !version.contains("-rc")) {
// Get size by parsing version page
def pageHtml = slurper.parse("${url}/${version}/")
pageHtml.body.text().split(/(\n)/).findAll { it =~ '\\.zip ' }.each {
data.put(version, it.split()[3])
}
}
}
}
parseURL(data, slurper, "https://maven.xwiki.org/releases/com/xpn/xwiki/products/xwiki-enterprise-hsqldb/")
parseURL(data, slurper, "https://maven.xwiki.org/releases/com/xpn/xwiki/products/xwiki-enterprise-jetty-hsqldb/")
parseURL(data, slurper, "https://maven.xwiki.org/releases/org/xwiki/enterprise/xwiki-enterprise-jetty-hsqldb/")
parseURL(data, slurper, "https://maven.xwiki.org/releases/org/xwiki/platform/xwiki-platform-distribution-flavor-jetty-hsqldb")
data = data.sort { v1, v2 -> ModuleDescriptor.Version.parse(v1.key).compareTo(ModuleDescriptor.Version.parse(v2.key))}
println "|=Version|=Size"
data.each { version, size ->
println "|${version}|${size}"
}
println ""
println "{{chart type='line' source='inline' params='range:B1-B${data.size()};series:columns;' title='Size of XWiki Jetty/HSQLDB Distributions' width='1000' height='400'}}"
data.each { version, size ->
println "|${version}|${size[0..-2]}"
}
println "{{/chart}}"
{{/groovy}}
Example result