blob: 6cd4843994965f33fbbe32aeb6f1c7db5ad6447b [file]
<?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&#0153; 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>&lt;profile>
&lt;id>local-build-configuration&lt;/id>
&lt;repositories>
&lt;repository>
&lt;id>apache-nexus-snapshot&lt;/id>
&lt;url>https://repository.apache.org/content/groups/snapshots-group/&lt;/url>
&lt;/repository>
&lt;/repositories>
&lt;pluginRepositories>
&lt;pluginRepository>
&lt;id>apache-nexus-snapshot&lt;/id>
&lt;url>https://repository.apache.org/content/groups/snapshots-group/&lt;/url>
&lt;/pluginRepository>
&lt;/pluginRepositories>
&lt;/profile>
&lt;activeProfiles>
&lt;activeProfile>local-build-configuration&lt;/activeProfile>
&lt;/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>