Size of XWiki Distributions

Last modified by Vincent Massol on 2025/02/12 12:25

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

Information

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

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