build.xml is called by the OME ./build.py-based build system. The only two targets that are currently supported are "dist" and "clean". "test" etc. will also need hooks. "dist" calls the regular Bio-Formats build and then calls out to ome.xml which re-distributes the jars basd on the ivy.xml specification. This logic can't sit in the build.xml file itself because of at least one naming conflict (root.dir)
Previously, 3 spaces were used for indenting OME-XML. This isn't optimal for all use cases, so now we allow the number of spaces to be specified, e.g. '-xmlspaces 4'. See #8147.
See #8148. Using the '-no-sas' option with '-omexml' will print OME-XML that has the StructuredAnnotation elements removed. To test, verify that 'java loci.formats.tools.ImageInfo -omexml file' displays StructuredAnnotations, while 'java loci.formats.tools.ImageInfo -no-sas -omexml file' does not.
The last tile in a row or column is often smaller than the optimal size. Instead of just assuming that the optimal dimensions will work, we adjust the width and height of the last tile as needed. This should fix all sorts of failures in the BIOFORMATS-openbytes-performance Jenkins job.
Some software (notably Huygens) does not feel the need to write a unit for the C axis. This causes our poor ICS reader a great deal of confusion, as the index into the array of units is now wrong. So now we check for a missing unit, and add in "nm" for the C axis as appropriate. Reported by Glen MacDonald.