add-in build instructions

This page explain how to build the GeoAPI add-in. Implementors can follow those instructions if they want a different set of Calc spreadsheet formulas. Implementors wanting to use their own implementation with the existing formulas may consider the easier implementation replacement approach instead than this page.

All XFoo Java interfaces are generated from IDL files with the same name. As long as XFoo Java/IDL interfaces are not modified, there is no need for the SDK. But if any XFoo interface is modified, then the steps documented below must be done. The last step shall be executed on the client machine (users can also use the "Tools / Package manager" menu from GUI).


Compilation requires the ridl.jar, unoil.jar, jurt.jar and juh.jar files, which are automatically downloaded from Maven Central. In addition, the following command-line tools are required for some steps described in this page:

Command line tool Provided with
idlc OpenOffice SDK
regmerge OpenOffice SDK
javamaker OpenOffice SDK
javap Java SDK
javac Java SDK
jar Java SDK
zip Unix distribution
unopkg OpenOffice suite



Replace ooo-path by the path to the installation directory. This directory should contain the program and ure-link sub-directories. The SDK shall be installed as a sub-directory of the root directory. If the name of that SDK directory is different than OpenOffice.org3.3_SDK, then modify the OO_SDK_HOME value below accordingly.

export OFFICE_BASE_HOME=ooo-path
export OO_SDK_HOME=$OFFICE_BASE_HOME/OpenOffice.org3.3_SDK
export PATH=$OFFICE_BASE_HOME/ure-link/bin:$OO_SDK_HOME/bin:$PATH

Compiles the UNO .urd binary file

cd geoapi-openoffice/src/main/java
idlc -C -cid -w -I $OO_SDK_HOME/idl org/opengis/openoffice/*.idl

Compiles the UNO .rdb registry file

regmerge ../unopkg/geoapi.rdb /UCR org/opengis/openoffice/*.urd
rm org/opengis/openoffice/*.urd
cd ../unopkg

Creates the .class file for Java interfaces

javamaker -BUCR -nD geoapi.rdb $OFFICE_BASE_HOME/ure-link/share/misc/types.rdb \

Derives a .java source from the .class file

javap org.opengis.openoffice.XReferencing


cd ../../..
mvn install


cd target
unopkg add geoapi-3.1-SNAPSHOT.oxt --log-file log.txt