UIMA project logo
One time release setup
Apache UIMA

Search the site

 One time setup instructions for releasing Apache UIMA

Here you will find information on how to set up various tools and configurations needed when releasing Apache UIMA™ artifacts.

First, be sure you've done the general one-time-setup.

The rest of the setup is taken from various other sources around Apache (links below).

  • Settings.xml file:

    Create and/or update your Maven settings.xml file (located where your local repo is). Follow these instructions (but ignore the last line about needing to be a member of group apcvs and maven). Use Maven's password encryption capabilities to encrypt your LDAP password, used to log on to the server for uploading things to the Apache Nexus Repositories (both SNAPSHOTs and Staging).

    Your settings file should not contain your GPG passphrase, to avoid the security risk inherent in having this in a file stored on your machine. Instead, it should have lines like these:

      <gpg.useagent>true</gpg.useagent>
      <!--gpg.passphrase></gpg.passphrase-->  <!-- don't put passphrase in file -->
    

    These lines go in your settings.xml file, inside a <profile> that is active when the signing is needed (you can just make it active always, too), inside a <properties> element, like so:

    <properties>
      <gpg.useagent>true</gpg.useagent>
      ...
    </properties>

    Here is a sample settings.xml profile:

    <settings xmlns="https://maven.apache.org/POM/4.0.0"
      xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="https://maven.apache.org/POM/4.0.0
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">
      <profiles>
        <profile>
          <id>local-build-configuration</id>
          <!-- Use <activeProfiles>
                     <activeProfile>local-build-configuration</activeProfile>
                   </activeProfiles>
               outside of the <profile> element. See example at bottom.
                
          <properties>
            <uima-maven-build-eclipse-home>C:/p/eclipse/3.5/eclipse</uima-maven-build-eclipse-home>
            <uimaWebsiteDistributionUrl>file:///c:/a/uimaWebsite/</uimaWebsiteDistributionUrl>
            <gpg.useagent>true</gpg.useagent>
          </properties>
        </profile>
      
      </profiles>
      
      <!-- activeProfiles - a list of profiles that are active for all builds -->
      <activeProfiles>
        <activeProfile>local-build-configuration</activeProfile>
      </activeProfiles>
    </settings>

  • Create (if you haven't already) your GPG keys; see Making GPG Keys. The UIMA project KEYS file is stored in SVN in the trunk/uima-website/docs/KEYS file. Please add your exported public key to the bottom of this file, and commit the change.

    Also, checkout and update the KEYS file at the top level of our release distribution, located at https://dist.apache.org/repos/dist/release/uima/KEYS.

  • You need to have a recent GPG client installed; the recent ones support the capability to have a window pop up when the passphrase is needed - so you never need to put the passphrase into a file. And, they remember this, so if you're signing a bunch of things, you only need to put in the passphrase once (it forgets/resets after a few minutes). I've found https://www.gpg4win.org/ has this kind of support, for Windows XP. See the main gpg site https://www.gnupg.org/ for references to other implementations.
  • You need a current version of the SVN client, Subversion (1.6) installed and on your shell's path. See https://subversion.apache.org/ At least one person has had success using the client from Collabnet on Windows.
  • You need Java 1.5. (Our builds should be done with 1.5 to catch any accidental use of 1.6-only methods).
  • Set the environmental variable MAVEN_OPTS to "-Xmx800m -XX:MaxPermSize=256m" (these may be too large, but they currently work).
  • Download and install Maven 3.0-beta-1 (or later), and set it up to be on the PATH.