UIMA project logo
Quick Start for working with Source Code
Apache UIMA

Search the site

 Do the one-time-setup

To work with the source code, start by doing the one-time setups.

 Checkout and Build UIMA SDK

To build all of the Apache UIMA Java SDK (including the docbooks and the binary assembly) and install these artifacts to your local maven repository, do the following:

  • svn checkout https://svn.apache.org/repos/asf/uima/uimaj/trunk /myWorkingCopy
  • cd /myWorkingCopy/uimaj
  • mvn install

Note: if you're using windows, change the directory separator to backslash (but keep it forward for the url).

If you're looking for the lib containing all the built Jars, cd ../uimaj-distr/target and unzip/untar the binary distribution artifact, named something like uimaj-[version]-bin.zip or uimaj-[version]-bin.tar.gz. Then, look inside the unpacked result for a lib directory - it will have the Jars that were built.

 Checkout and Build UIMA-AS

The build for UIMA-AS depends on the UIMA SDK, so build that first, following the directions above.

Then, to build UIMA-AS (including the docbooks and the binary assembly) and install these artifacts to your local maven repository, do the following:

  • svn checkout https://svn.apache.org/repos/asf/uima/uima-as/trunk /myWorkingCopyAS
  • cd /myWorkingCopyAS/uima-as
  • mvn install

 Checkout and Build an Addons (Sandbox) project

  • svn checkout https://svn.apache.org/repos/asf/uima/addons/trunk /myWorkingCopyAddons
  • cd /myWorkingCopyAddons
  • mvn install

To check out just one of the addons and build it, say, the WhitespaceTokenizer, do:

 Checkout and Build UIMA C++ SDK

Checkout the source code as follows:

  • svn checkout https://svn.apache.org/repos/asf/uima/uimacpp/trunk /myWorkingCopyUimacpp

UIMACPP runtime prerequisites are APR, ICU, Xerces-C, ActiveMQ-cpp, APR-Util and a JDK for building the JNI interface. The SDK also requires doxygen for building the documentation.

To build the SDK, all prerequisites need to be built from source. Alternatively UIMACPP can be built and installed on a machine with all the prerequisites available in system directories. In this case the prerequisites can be installed from binary distributions.

Building on Unix

To build and install on a machine with prerequisites available in system directories:

  • cd /myWorkingCopyUimacpp
  • ./configure --with-jdk=location_of_jni.h [other options]
  • make
  • make check

For a full SDK build,

  • ./configure --with-apr=loc_of_apr_install --with-icu=loc_of_icu_install --with-xerces=loc_of_xerces_install --with-activemq=loc_of_amq_install --with-apr-util=loc_of_apr-util_install
  • make install
  • make sdk TARGETDIR="loc_of_sdk_tree [clean]"

For a build of UIMACPP without UIMA-AS support, specify the option --without-activemq. The options --with-activemq and --with-apr-util can be left out.

Building on Windows

To build an SDK all prerequisite components, APR, ICU, Xerces-C, ActiveMQ-cpp and APR-Util must first be built on the machine, and a JDK installed. The location of the dependencies must be set in environment variables APR_HOME, ICU_HOME, XERCES_HOME, ACTIVEMQ_HOME, APU_HOME and JAVA_INCLUDE.

  • cd /myWorkingCopyUimacpp
  • winmake /build release (or debug)
  • cd src\test
  • devenv test.sln /build release
  • fvt
  • cd /myWorkingCopyUimacpp/docs
  • builddocs
  • buildsdk "target_dir [clean]"

For more details on platform specific build issues and on the dependencies, see UIMA C++ Building from source.