UIMA project logo
Creating Distributions
Apache UIMA

Search the site

 Building Apache UIMA distributions

This page describes how we build distributions for the 2.3.1 and later releases. See this page for information on building distributions for the 2.3.0 and prior releases.

Normally, distributions are built within the release activity; the documentation for that is here, and includes information on how to build and update the Eclipse update site, used for making our Eclipse plugins installable over the web. This page focuses on building distributions outside of a release.

Do the one-time-setup and the extra setup for GPG signing if you haven't already done this. The extra setup page also includes information on setting up for uploading (deploying) to apache infrastructure - you can skip that if you are not planning on doing that. It also includes information on setting some properties related to Eclipse - these are only needed for building the Eclipse update site.

 Building the Apache UIMA Java SDK distribution

Get the code for the trunk or tag or branch (which ever one you want) from SVN:

mkdir /builduima  
cd /builduima
svn export http://svn.apache.org/repos/asf/uima/uimaj/trunk uimasdk
This checks out the trunk into the directory /builduima/uimasdk. These directory and folder names are arbitrary, and can be changed.

Build the source and binary distributions by doing:

cd uimasdk/uimaj
mvn package -Papache-release
This Maven command will also sign the release.

The build process for base UIMA Java SDK builds individual Jar files suitable for uploading into a Maven repository, and 2 assemblies (one for the source and one for the binary distributions). The individual Jar files are in the target directories of the individual projects they belong to. The source assembly is in the uimaj/target directory and the binary assembly is in the uimaj-distr/target directory.

 Building the Apache UIMA-AS distribution

The build process for UIMA-AS is similar:

mkdir /builduima
cd /builduima
svn export http://svn.apache.org/repos/asf/uima/uima-as/trunk uima-as
This checks out the trunk into the directory /builduima/uima-as.

The uima-as build is done on top of an existing release of the UIMA Java SDK. The pom.xml file in the uima-as-parent project has a property: <uimajDependencyVersion>2.3.1</uimajDependencyVersion>, which is used to specify the corresponding base uima level, which must exist in some Maven repository, or in the user's local .m2 repository. During the build of the binary assembly for uima-as, the base uima Java SDK binary assembly is unzipped and the uima-as components are added to it, and then the whole thing is re-packaged up.

Build the source and binary distributions by doing:

cd uima-as/uima-as
mvn package -Papache-release
This Maven command will also sign the release.

 Building Apache UIMA Addons distributions

The build process for Addons is similar:

mkdir /builduima
cd /builduima
svn export http://svn.apache.org/repos/asf/uima/addons/trunk addons
This checks out the trunk into the directory /builduima/addons.

Build the source and binary distributions by doing:

cd addons
mvn package -Papache-release
This Maven command will also sign the release.

The top level project contains in the target directory the generated source-release.zip archive, and the binary archives.