Index ¦ Archives ¦ RSS

Export validation as a new year's resolution

Estimated read time: 2 minutes

TL;DR: If you touch the ODF and/or OOXML filters in LibreOffice, please use the --with-export-validation configure option after you ran the setup.sh script.

Markus Mohrhard did an excellent job with adding the --with-export-validation build switch to LibreOffice. It does the following:

  • it validates every Calc and Impress zipped XML document (both ODF and OOXML) produced during the build by export filters

  • it does the same for Writer, except there only a subset of documents are validated

One remaining problem was that it required setting up both odfvalidator and officeotron, neither of them are standard GNU projects but Java beasts. So even if I and a number of other developers do use this option, it happens from time to time that we need to fix new validation regressions, as others don’t see the problem; and even if we point it out, it’s hard to reproduce for the author of the problematic commit.

This has just changed, all you need is to get export-validation/setup.sh from dev-tools.git, and run it like this:

./setup.sh ~/svn /opt/lo/bin

I.e. the first parameter is a working directory and the second is a directory that’s writable by you and is already in your path. And then wait a bit… ODF validator uses maven as a build system, so how much you have to wait depends on how much of the maven dependencies you already have in your local cache… it’s typically 5 to 15 minutes.

Once it’s done, you can add --with-export-validation to your autogen.input and then toplevel make will invoke odfvalidator and officeotron for the above mentioned documents.

The new year is here, if you don’t have a new year’s resolution yet — or if you hate those, but you’re willing to adopt a new habit from time to time — then please consider --with-export-validation, so that such regressions can be detected before you publish your changes. Thanks! ;-)

© Miklos Vajna. Built using Pelican. Theme by Giulio Fidente on github.