| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <document> |
| |
| <properties> |
| <title>One time setup</title> |
| <author email="dev@uima.apache.org"> |
| Apache UIMA Documentation Team</author> |
| </properties> |
| |
| <body> |
|
|
| <section name="One time setup instructions for working with Apache UIMA source code"> |
| <p> |
| Here you will find information on how to set up various tools used in working with Apache UIMA™ source code, including: |
| <ul> |
| <li>Java - use a 1.5 JVM or later.</li> |
| <li><a href="#svn-setup">SVN</a></li> |
| <li><a href="#maven-setup">Maven</a></li> |
| <li><a href="#eclipse-setup">Eclipse</a></li> |
| </ul>
|
| </p> |
| </section> |
| |
| <section name="One time setup for SVN" id="svn-setup"> |
| <p>Install an svn client (not server) to use for command line invocation of SVN from |
| <a class="external" rel="nofollow noopener" target="_blank" |
| href="https://subversion.apache.org/packages.html">https://subversion.apache.org/packages.html</a>. |
| Use the 1.6.x or later version. |
| For Windows platform, you may find it convenient to also install a windows shell extension for this, such |
| as the one from Tigris.org.</p> |
| |
| <p>If you are using an IDE, you should obtain the SVN client for that IDE.</p> |
| <p>See <a href="svn.html">svn.html</a> for further details about accessing the source, |
| including accommodating firewalls.</p> |
| |
| <p class="Note">Important:</p> |
| <p>Configure your SVN client to set the eol-style to native, for newly created files; see |
| <a target="_blank" rel="noopener" href="https://apache.org/dev/svn-eol-style.txt">https://apache.org/dev/svn-eol-style.txt</a> |
| for instructions on how to do this.</p> |
| </section> |
| |
| <section name="One time setup for Maven" id="maven-setup"> |
| <ol><li>Download Maven 3.0 or later from |
| <a class="external" rel="nofollow noopener" target="_blank" |
| href="https://maven.apache.org/download.html">https://maven.apache.org/download.html</a>.</li> |
| <li>Set up your path to use this version.</li> |
| <li>(Optional, but is needed for some JVM/platforms, to give the JVM enough room to build things). |
| Add the following environment variable for Maven: <br/> |
| <pre> Variable name: <code>MAVEN_OPTS</code><br/> |
| Value: <code>-Xmx800m -XX:MaxPermSize=256m</code></pre></li> |
| <!-- no longer needed because |
| snapshot repo now by design is specified when needed; that is, it is in the |
| common subproject parent pom --> |
| <!--li>If you plan to build from "trunk" which contains unreleased as-of-yet artifacts, you'll need |
| to have the build get access to UIMA's build tooling. This can be done in 2 ways: |
| <ol><li>Checkout the build tooling from svn (https://svn.apache.org/repos/asf/uima/build/trunk) and |
| build and install it into your local maven repository. To do the build and install, |
| go into the parent-poms/parent-pom-top directory, and do the "mvn install" command.</li> |
| <li>Change your maven settings.xml file to include the Apache snapshot repository in the set of repositories it |
| searches for artifacts. For general information on maven settings files, |
| see <a class="external" rel="nofollow noopener" target="_blank" rel="noopener" |
| href="https://maven.apache.org/settings.html">https://maven.apache.org/settings.html</a> and |
| <a class="external" rel="nofollow noopener" target="_blank" rel="noopener" |
| href="https://maven.apache.org/ref/3.0/maven-settings/settings.html"> |
| https://maven.apache.org/ref/3.0/maven-settings/settings.html</a>. |
| <p>To follow this approach, create a settings.xml file in the right location (usually ~/.m2/) and |
| add a setting for the repository.apache.org NEXUS snapshot repository. |
| There's an existing settings.xml you can use as a template, in the conf/ directory of the maven install. |
| Here's an example of how that could be done: |
| <pre><code><profile> |
| <id>local-build-configuration</id> |
| <repositories> |
| <repository> |
| <id>apache-nexus-snapshot</id> |
| <url>https://repository.apache.org/content/groups/snapshots-group/</url> |
| </repository> |
| </repositories> |
| <pluginRepositories> |
| <pluginRepository> |
| <id>apache-nexus-snapshot</id> |
| <url>https://repository.apache.org/content/groups/snapshots-group/</url> |
| </pluginRepository> |
| </pluginRepositories> |
| </profile> |
| |
| <activeProfiles> |
| <activeProfile>local-build-configuration</activeProfile> |
| </activeProfiles> |
| </code></pre></p></li></ol></li--> |
| </ol> |
| </section> |
| |
| <section name="One time setup for Eclipse" id="eclipse-setup"> |
| |
| <p>Install Eclipse version 3.7.2 or later.</p> |
| <p>Then: |
| <ol> |
| <li><p>Install the SVN support plugin <code>Subclipse</code> from |
| <a class="external" rel="nofollow noopener" target="_blank" |
| href="https://subclipse.tigris.org/">https://subclipse.tigris.org/</a>. |
| Be sure to pick the version for 1.6.x or the 1.8.x SVN client. Either of these work with the Apache SVN, |
| but you cannot mix them - pick one and stick with it for all your SVN access (e.g., Eclipse, commandline, |
| TortiseSVN Windows shell extensions, etc.) |
| </p></li> |
| <li><p>Install m2e (latest recommended version) from the Eclipse update site: |
| <a class="external" rel="nofollow noopener" target="_blank" |
| href="https://www.eclipse.org/m2e/">https://www.eclipse.org/m2e/</a>. |
| </p> </li> |
| <li><p>When checking out UIMA modules, one method known to work (others may be added) is to do the initial |
| check-out using the SVN command "svn checkout https://svn.apache.org/repos/asf/uima/uimaj/trunk some-local-directory" |
| (This is just an example - you may need to check out different parts, branches, etc., please adjust the command as needed). |
| Then use the Eclipse menu File -> Import -> Import existing Maven projects and navigate to the directory where |
| you checked out the projects. The plugin will analyze what's there, and then offer to import all the projects. |
| You can just go ahead, or select some subset to import into Eclipse. |
| </p> |
| <p>You will likely (the first time) get some messages from m2e about missing connectors - and the offer from m2e to have |
| it search for them - you should permit this and it will then find and download and install (with your permission) |
| the connectors it needs to do the m2e build of the Maven projects.</p></li> |
| <!--li>You probably also want the m2eclipse SCM integration - this adds menus to SCM such as |
| <code>Checkout as Maven project</code>. To get this, add the Eclipse update site: |
| <a class="external" rel="nofollow noopener" target="_blank" rel="noopener" |
| href="https://m2eclipse.sonatype.org/sites/m2e-extras"> |
| https://m2eclipse.sonatype.org/sites/m2e-extras</a> |
| and then select |
| <ul><li>Maven SCM handler for Subclispe</li> |
| <li>Maven SCM Integration</li> |
| </ul> |
| </li> |
| </ol> |
| </p> |
| |
| </li--> |
| <!-- |
| <li>Use Eclipse<code> Preferences -> Maven -> Installations </code> to add the Maven 3.0 (or later) installation as the |
| default to use.</li> --> |
| <li>(Optional - if you are using m2e plugin to run Maven |
| build commands.) Use Eclipse <code>Preferences -> Java -> Installed JREs</code> |
| and select the JRE you will be using as the default, and click |
| "Edit" and add the default VM arguments from MAVEN_OPTS above.</li>
|
| </ol> |
| </p>
|
| </section> |
| |
| </body> |
| </document> |