Size of XWiki Distributions

Last modified by Vincent Massol on 2024/12/12 10:46

cogGraphes evolution of the XWiki distributions over time
TypeSnippet
Category
Developed byUnknown
Rating
0 Votes
LicenseGNU Lesser General Public License 2.1

Table of contents

Description

See also the size of the XWiki distributions on the Project Health page.

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}}

To compute the size of the WAR file, replace .zip with .war, and xwiki-enterprise-hsqldb by xwiki-enterprise-web in the script above.

Example result

hsqldb-sizes.png

warsize.png

Get Connected