You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2010/06/09 19:20:37 UTC

svn commit: r953085 - in /uima/site/trunk/uima-website/xdocs/staging: ./ svn.xml testing-builds.xml

Author: schor
Date: Wed Jun  9 17:20:37 2010
New Revision: 953085

URL: http://svn.apache.org/viewvc?rev=953085&view=rev
Log:
no Jira - update instructions for building with maven, add page for building and testing the parent-pom-top to "staging" area.

Added:
    uima/site/trunk/uima-website/xdocs/staging/
    uima/site/trunk/uima-website/xdocs/staging/svn.xml
    uima/site/trunk/uima-website/xdocs/staging/testing-builds.xml

Added: uima/site/trunk/uima-website/xdocs/staging/svn.xml
URL: http://svn.apache.org/viewvc/uima/site/trunk/uima-website/xdocs/staging/svn.xml?rev=953085&view=auto
==============================================================================
--- uima/site/trunk/uima-website/xdocs/staging/svn.xml (added)
+++ uima/site/trunk/uima-website/xdocs/staging/svn.xml Wed Jun  9 17:20:37 2010
@@ -0,0 +1,606 @@
+<?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
+
+  http://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>Source Code</title>
+<author email="dev@uima.apache.org">
+ UIMA Documentation Team</author>
+</properties>
+
+<body>
+
+<section name="Apache UIMA Source Code">
+<p>
+  <ul>
+		<li><a href="#source.code.repository">Source Code Repository</a>
+			<ul>
+				<li><a href="#source.code.repository.web.access">Web Access to Subversion</a></li>
+			</ul>
+		<br></br>
+		</li>
+		<li><a href="#checkout.code">Checking Out Code Using Subversion</a>
+			<ul>
+				<li><a href="#anonymous.checkout">Anonymous check out from Subversion</a></li>
+				<li><a href="#access.firewall">Access from behind a firewall</a></li>
+				<li><a href="#access.proxy">Access through a proxy</a></li>
+				<li><a href="#committer.access">Committer access</a></li>
+				<li><a href="#checkout.using.eclipse">Checking Out Code using Eclipse</a></li>
+			</ul>
+		<br></br>	
+		</li>
+		<li><a href="#submit.code.changes">Submitting Code Changes</a>
+			<ul>
+				<li><a href="#submitting.patch">Submitting a patch</a></li>
+				<li><a href="#committing.changes">Committing changes to subversion</a></li>
+			</ul>
+		<br></br>
+		</li>
+        <li><a href="#building.with.maven">Building UIMA from Source</a>
+			<ul>
+				<li><a href="#building.command.line">Building from the command line</a></li>
+				<li><a href="#building.eclipse">Building from Eclipse</a></li>
+				<li><a href="#test.failure">What to do if the tests fail</a></li>
+				<li><a href="#build.distribution">How to build the full Apache UIMA distribution</a></li>
+				<li><a href="#building.docbooks">Building uima-docbooks</a></li>
+			</ul>
+    </li>
+  </ul>
+</p>
+</section>
+
+<section name="Source Code Repository" id="source.code.repository">
+
+<p>Apache UIMA uses 
+<a  class="external" rel="nofollow" target="_blank" href="http://subversion.tigris.org">
+Subversion</a> to manage its source code.
+If you're new to Subversion, you can check out the
+<a href="http://svnbook.red-bean.com/" target="_blank">online book</a> about Subversion.
+</p>
+
+<p>
+  The code for UIMA is stored in several sections:</p>
+  <ol>
+    <li>http://svn.apache.org/repos/asf/uima/uimaj - the Java code for base UIMA</li>
+    <li>http://svn.apache.org/repos/asf/uima/uima-as - the Asynchronous Scaleout add-on for base UIMA</li>
+    <li>http://svn.apache.org/repos/asf/uima/sandbox - a collection of add-ons for UIMA including annotators</li>
+    <li>http://svn.apache.org/repos/asf/uima/uimacpp - the C++ framework supporting Annotators written in C++</li>
+    <li>http://svn.apache.org/repos/asf/uima/build - Build information and configurations used in building from sources</li>
+  </ol>
+<p>  
+  Each of these have subdirectories: trunk - for the latest, tags - for preserved copies of releases, 
+  and (sometimes) branches - for special development efforts. 
+</p>
+
+<p>
+To receive notice of commits to the repository subscribe to 
+<a  href="mailto:commits@uima.apache.org">
+commits@uima.apache.org</a> by sending email to 
+<a  href="mailto:commits-subscribe@uima.apache.org">
+commits-subscribe@uima.apache.org</a>. 
+</p>
+
+<subsection name="Web Access to Subversion" id="source.code.repository.web.access">
+<p>
+If you just want to browse the source code, you can use the
+<a class="external" rel="nofollow" 
+href="http://svn.apache.org/viewcvs/uima">
+ViewCVS web interface</a> to Subversion.  This is current at all times.
+</p>
+</subsection>
+</section>
+
+<section name="Checking Out Code Using Subversion" id="checkout.code">
+
+<p>Anyone can check code out of Subversion.  Username and password 
+  are only needed to update the Subversion repository; only
+UIMA committers can do that.
+If you are a committer, are working from behind a firewall, or are 
+connected to the internet through a proxy server, please see the sections 
+below for more information.
+</p>
+
+<subsection name="Anonymous check out from Subversion" id="anonymous.checkout">
+<p>Use a command like:</p>
+  <longquote><code>% svn checkout http://svn.apache.org/repos/asf/uima/uimaj/trunk</code></longquote>
+<p>Once you have Apache UIMA checked out you can update your working copy
+  of the checked-out sources, to pick up any changes committed since you
+  checked things out, 
+  by executing the following command from within the UIMA directory. </p>
+<longquote><code>% svn update</code></longquote>
+</subsection>
+<subsection name="Access from behind a firewall" id="access.firewall">
+
+<p>For those users who are behind a corporate firewall which is 
+blocking http access to the Subversion repository, you can try to access it 
+via HTTPS: </p>
+<longquote><code>% svn checkout \<br/>
+  https://svn.apache.org/repos/asf/uima/uimaj/trunk</code></longquote>
+</subsection>
+<subsection name="Access through a proxy" id="access.proxy">
+
+<p>The Subversion client can go through a proxy, if you configure it 
+to do so. First, edit your "servers" configuration file to indicate which 
+proxy to use. The files location depends on your operating system. 
+On Linux or Unix it is located in the directory "~/.subversion". 
+On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%", 
+note this is a hidden directory.) </p>
+<p>There are comments in the file explaining what to do. If you don't have 
+that file, get the latest Subversion client and run any command; this will 
+cause the configuration directory and template files to be created. 
+</p>
+<p>Example : Edit the 'servers' file and add something like : 
+</p>
+<longquote><pre>
+[global]
+http-proxy-host = your.proxy.name
+http-proxy-port = 3128
+</pre></longquote>
+
+</subsection>
+
+<subsection name="Committer access" id="committer.access">
+
+<p>Everyone can access the Apache UIMA Subversion repository via HTTPS. 
+Apache UIMA Committers must checkout the Subversion repository 
+via HTTPS, in order to be able to check in changes. 
+</p>
+<longquote><code>% svn checkout \<br/>
+  https://svn.apache.org/repos/asf/uima/uimaj/trunk</code></longquote>
+</subsection>
+		
+<subsection name="Checking Out Code using Eclipse" id="checkout.using.eclipse">
+
+<p>To access the SVN repository from Eclipse, please use Maven's m2eclipse plugin
+  from <a class="external" rel="nofollow" target="_blank" href="http://m2eclipse.sonatype.org/sites/m2e">
+    http://m2eclipse.sonatype.org/sites/m2e</a>, and
+  the Subclispe plugin from  
+<a class="external" rel="nofollow" target="_blank" href="http://subclipse.tigris.org/update_1.0.x">
+http://subclipse.tigris.org/update_1.0.x</a>.
+</p>
+
+<p class="note">
+  The 0.10.0 version (current as of Mid 2010) of m2eclipse plugin has a bug for those
+sandbox projects using XMLBeans, which causes them not to build - it has
+something to do with the XMLBeans generating java sources.
+
+The bug (see: 
+<a class="external" rel="nofollow" target="_blank" 
+  href="https://issues.sonatype.org/browse/MNGECLIPSE-1694">
+  https://issues.sonatype.org/browse/MNGECLIPSE-1694</a>) has been fixed 
+in an update to the m2eclipse plugin. 
+Get this update by downloading 
+<a class="external" rel="nofollow" target="_blank" 
+  href="https://cit-server.cit.tu-berlin.de/~battre/org.maven.ide.eclipse.site-0.10.1-SNAPSHOT-site.zip"
+>org.maven.ide.eclipse.site-0.10.1-SNAPSHOT-site.zip</a>; 
+unzipping it locally to some directory, adding that directory as a local "Software Site" in 
+Eclipse's "Help -> Install New Software" and then updating the package with "Help -> Check for Updates".
+
+After running a mvn install from a command line, if the project doesn't
+build in eclipse, right click the project, and select Maven -> update
+project configuration.  This will add any "generated sources" to the source directory path, and
+will correct the build issues. 
+</p>
+
+<p class="note">Note that m2eclipse comes with a bundled version of maven 3 included.  If that version is &lt; 3.0.0-beta-1, 
+  please obtain the latest maven 3 build, install it, and then use the preferences for Eclipse Maven to tell
+  it to use the later maven 3 build for running builds.</p>
+
+<p>The individual projects can be checked out without worrying about relative path 
+  dependencies, except for a few projects that refer to other projects using relative addresses.
+  Currently, the projects which do that are 
+  <ul>
+    <li>the aggregator projects (these usually start with the name "aggregate") - those special maven projects
+  that only serve to aggregate build operations for a set of other projects, and</li>
+    <li>the "distribution" projects - those that build entire distributions.</li>
+  </ul></p> 
+
+<p>The recommended way to check out many projects at once is to use a non-Eclipse svn checkout
+  (either svn command line or the Tortise SVN extensions for Windows Explorer).  
+  Use this to check out entire sets of projects under one of the trunks, for instance.
+  Once they are checked out, you can import them into an Eclipse workspace using the 
+  File -> Import -> Maven -> Existing Maven Projects. 
+</p>
+
+<p>You can also check out individual projects using 
+<ol>
+	<li>Bring up the "SVN Repositories" View (from Window -> Show View -> Other)</li>
+	<li>Right click in the SVN Repositories View and select New -> Repository Location.</li>
+	<li>Enter the URL <code>http://svn.apache.org/repos/asf/uima/uimaj/trunk</code> (or <code>https://</code>...)</li>
+	<li>Shift-click to multi-select the projects you want, right click and choose "Checkout as Maven Projects"</li>
+	<li>Select "Check out into the workspace as projects" and click "Finish"</li>	
+</ol>				
+</p>
+
+<p class="note">
+  If you check out projects individually, m2eclipse puts them into individual subfolders, causing the 
+  distribution and aggregation projects to no longer have the right relative directory specifications.
+  If this happens, the best thing to do is to re-checkout the entire set of related items in one go.
+</p>
+</subsection>	
+		
+</section>
+
+<section name="Submitting Code Changes" id="submit.code.changes">
+<subsection name="Submitting a patch" id="submitting.patch">
+
+<p>If you make changes to Apache UIMA, and would like to contribute 
+this to the project, you should open a JIRA issue and discuss the changes 
+with the developer community. If there is agreement,
+create a patch and attach it to the JIRA issue.
+</p>
+<p>
+To create a patch, use the Eclipse Team -> Create Patch command 
+select the project in the Package Explorer, right click it to find 
+the Team menu in the context menu).  Or, use the command line and
+execute the svn diff command. This creates a patch that
+can easily be uploaded to a JIRA issue. A good name for the patch includes
+the JIRA issue name, e.g. UIMA-104.patch. If there are several patches
+for the same JIRA issue, you might include a short identifying 
+  description, or your initials, e.g.
+UIMA-104.clr.patch 
+</p>
+<longquote><pre>
+% svn diff &gt; UIMA-104.clr.patch
+</pre></longquote>
+</subsection>
+
+<subsection name="Committing changes to subversion" id="committing.changes">
+<p>
+To commit changes to the subversion repository, you must be an Apache 
+UIMA committer.  See <a href="get-involved.html">get involved</a> 
+for information on how to become a committer and how to set up your 
+password once you become a committer.
+</p>
+
+<p>
+Once your password is set, you can commit from Eclipse using the 
+Team -> commit context menu.  You can do this on an individual file,
+a set of files or directories (multi-select), or on whole project(s).
+You can also commit from the command line like this:
+</p>
+<longquote><pre>
+$&gt; svn commit --username your-username \
+ Authentication realm: &lt;https://svn.apache.org:443&gt; \
+ ASF Committers Password for 'your-username': your-password
+</pre></longquote>
+<p>You can also pass your password on the command line directly, but 
+this is a security problem on multiuser unix computers (the command line 
+arguments are available via the ps command).  Here is the command if you 
+are Windows or a single user unix computer: 
+</p>
+<longquote><pre>
+$&gt; svn commit --username your-username \
+  --password your-password
+</pre></longquote>
+<p>Remember to replace 'your-username' and 'your-password' with 
+your actual username and password on svn.apache.org. 
+</p>
+<p>
+Please also add to your commit statement an appropriate message that explains the changes you did.
+You can add a message when adding <code>--message</code> to your commit statement:
+</p>
+<longquote><pre>
+$&gt; svn commit --username your-username \
+  --password your-password --message your-message
+</pre></longquote>
+<p>
+Please always enter the JIRA issue key or keys (if more than one issue) and optionally, the JIRA issue link
+to the commit message. The issue key (e.g., UIMA-555) is important so that the JIRA SVN plugin can detect the
+changes automatically. Only specifying the issue link does not work correctly, for details
+please see the JIRA issue <a  class="external" rel="nofollow" href="http://jira.atlassian.com/browse/SVN-37">
+http://jira.atlassian.com/browse/SVN-37</a>.
+</p>
+</subsection>
+</section>
+
+<section name="Building UIMA from Source" id="building.with.maven">
+<p>
+Apache UIMA uses Maven 3 to do builds.  Release 3.0 beta-1 of Maven, or later, is required.  
+Download Maven from <a  class="external" rel="nofollow" target="_blank" href="http://maven.apache.org">
+http://maven.apache.org</a> and add &lt;maven-home>/bin to your path.
+</p>
+
+<p>
+  The source can be obtained in two ways:
+  <ol><li>You can checkout the source from SVN, from trunk, or a particular tagged release, or</li>
+    <li>you can use the source version of the release artifact you download from the download
+      page.</li></ol>
+</p>
+  
+  
+<subsection name="Building from the command line" id="building.command.line">
+<p>
+  These instructions apply to the release 2.3.1 and onwards version.</p>
+  
+<p>To build one project from the command line, 
+<longquote><pre>
+$&gt; cd to the project's directory (containing the project's pom.xml file)
+$&gt; mvn install
+</pre></longquote>
+</p>
+<p>
+  To build base UIMA from the command line, 
+<longquote><pre>
+$&gt; cd aggregate-uimaj
+$&gt; mvn install
+</pre></longquote>
+</p>
+
+<p>Builds for uima-as and the sandbox projects work similarly.  
+  </p>
+  
+  <p>Once the directory is set up, do: 
+<longquote><pre>
+$&gt; cd aggregate-uima-as
+$&gt; mvn install
+      or 
+$&gt; cd aggregate-addons
+$&gt; mvn install
+</pre></longquote>
+</p>
+
+<p>
+This should build all of the jars, any docbooks, and run the unit tests. 
+The output artifacts (Jars, html and pdf documents, etc.) are placed in each project's "target" directory, and 
+also are put into your local Maven repository. 
+</p>
+    
+</subsection>
+	
+<subsection name="Building from Eclipse" id="building.eclipse">
+  <p>With m2eclipse plugin, you can right-click any maven project, and select Run -> maven commands to do maven runs.  Furthermore, you can
+    save run configurations you build using Run -> Run As ... -> Maven build ...; these become launchable using the standard Eclipse run menus.
+  </p>
+  
+  <p>Within a project, you can run the unit tests in Eclipse by right-clicking on a folder (for example
+        <code>uimaj-core/src/test/java</code>) and selecting Run As -> JUnit Test. This will run all tests
+        under that folder.</p>
+    <!--
+    <ol>
+      <li><p>First, follow all the steps under "Building from the command line, above."  You 
+        will only need to do this once.</p></li>      
+      <li><p>(Optional) If you want a new workspace for the maven work, start Eclipse and create a new workspace. </p></li>
+      <li><p>In a command window, execute
+        <blockquote>
+        <pre>
+mvn -Declipse.workspace=&lt;eclipse workspace dir> \
+    eclipse:add-maven-repo</pre>
+        </blockquote> 
+        This adds a maven repository to your machine (On Windows, under documents &amp; settings / .m2 /
+        repository), and sets up an Eclipse Java Build Path variable to reference it.</p></li>
+      <li><p>Use Eclipse's SVN Repository explorer to checkout all the projects under uimaj/trunk. 
+        Tell it to create new Java projects for these.</p></li>
+      <li><p>
+        <code>cd uimaj</code> to switch to the Eclipse workspace project for <code>uimaj</code> (it has the top level
+        POM), and run the command:
+        <blockquote><code>mvn eclipse:eclipse</code></blockquote>
+        </p><p>
+        If you haven't run the "install" using maven (because you forgot to follow all the steps under
+        "Building from the command line, above"), you should do the command 
+        <code>mvn install eclipse:eclipse</code>. The "install" argument builds UIMA using maven, 
+        before the eclipse:eclipse goal is run.  This 
+        is needed for the Eclipse Plugins that are part of UIMA - these projects have their
+        "MANIFEST.MF" file built by maven from the information in the maven POMs.  This step
+        may take a few minutes  because the "install" lifecycle includes running the unit tests.
+        </p></li>
+      <li><p>Return to Eclipse, and if needed, select all the projects and push F5 to "refresh" them (because the
+        previous command changed the .project and .classpath files). You can set your workspace to automatically
+        refresh - in which case skip this step.</p></li>
+      <li><p>The projects should now compile without errors, and have build paths which reference copies of things in
+        your local maven repository.</p></li>
+      <li><p>You can run the unit tests in Eclipse by right-clicking on a folder (for example
+        <code>uimaj-core/src/test/java</code>) and selecting Run As -> JUnit Test. This will run all tests
+        under that folder.</p></li>
+    </ol>
+  </p>
+  -->
+</subsection>
+	
+<subsection name="What to do if the tests fail" id="test.failure">
+<p>
+(Note: this kludgy procedure needs improvement)
+</p>
+<p>
+If you get a failure messsage, the details of the failures are logged in a file 
+for each project which has a failue, in the folder target/surefire-reports.  
+In Eclipse, you can use the Search facility to search Files in the workspace of type "*.txt" 
+for the string "&lt;&lt;&lt; FAILURE!" to locate all the failure messages.
+</p>
+<p>
+If not using Eclipse, you can use <code>grep</code> to accomplish the same thing.
+</p>
+  
+<p>You can bypass the tests by doing mvn -Dmaven.test.skip install.  But please do this only
+  after you've run without it and have verified the tests results.</p>
+</subsection>
+
+<subsection name="How to build the full Apache UIMA distribution" id="build.distribution">
+  
+  <p>Distributions include zip/tar packages of sources and binaries.
+    Please refer to this page: <a href="distribution.html">Building a distribution</a> for
+    details on how to do this.</p>
+<!--  
+  <p>
+    To build a distribution, first do a build as described in "Building from the command line".  
+    Then (assuming you set up the Eclipse path using one of the first 2 methods, execute the following:
+<longquote><pre>
+cd ../uimaj-distr
+mvn install
+</pre></longquote>
+</p>
+<p>
+This will build the javadocs, and will create
+.zip and .tar.gz archives of the full UIMA distribution in the <code>uimaj-distr/target</code> 
+directory.
+
+</p>
+
+<p>Similarly, for building the uima-as add-on distribution, first be sure you've built 
+  the projects themselves (see above) and then do:
+<longquote><pre>
+cd ..\uima-as-distr
+mvn install
+</pre></longquote>
+</p>
+-->
+
+<p>Sandbox projects are built for distribution individually, by cd-ing to the individual
+  sandbox project and running "mvn install".  Note that this may not work on projects that
+  are not advanced to the point where they are released - not all projects in the Sandbox are
+  in a state where they are buildable.
+<!--longquote><pre>
+cd annotator-package
+mvn install
+</pre></longquote-->
+</p>
+
+</subsection>
+
+<subsection name="Building uima-docbooks" id="building.docbooks">
+  <p>Docbook processing is done normally as a part of regular maven building of projects
+    which have Docbooks.
+    The base uimaj projects have 4 docbooks, and there is an aggregate project which builds
+    all 4 of these: aggregate-uimaj-docbooks.
+    Docbooks are built by the normal maven lifecycle, in the prepare-package phase.</p>   
+</subsection>
+
+  <!-- This next section needs rewriting to work with the new docbook system 
+  <subsection name="Creating A4-size PDF documentation" id="building.docbooks.a4">
+  <p>If you don't live in the US, you may wish to create your PDF documentation in a different
+  format, e.g., A4.  To do this, edit the file 
+  <code>uima-docbook-tool/properties/default.docbook.properties</code>.  It contains a line
+  </p>
+  <p>
+  <code>paper.type = Letter</code>
+  </p>
+  <p>Change this setting to <code>A4</code> and rebuild the documentation.  Note: if you've previously
+  built the documentation, you need to run <code>ant clean</code> first, as the build doesn't pick
+  up on this change automatically.
+  </p>
+  
+  </subsection>
+  -->
+
+</section>
+
+  <!--
+<section name="Using Subversion on Windows with cygwin">
+
+<p>If you use Subversion on Windows under cygwin, you may find that the 
+Subversion client automatically assigns the executable property to 
+non-executable files. In that case, you would see this at the bottom of 
+an <em>svn diff</em> of the file: 
+</p>
+<pre>
+Property changes on: test/sql/derby/datastoreidentity/schema1.sql
+___________________________________________________________________
+Name: svn:executable
+   + *
+</pre>
+<p>This section explains the source of the problem and suggests some 
+actions to avoid it. 
+</p>
+
+<subsection name="Background">
+
+<p>Subversion carries executable information in the built-in property 
+called svn:executable.  This property, unlike others,  may be present 
+or absent, but it has no value.  You can add it or delete it, but you 
+cannot change its value. 
+</p>
+<p>In theory, Subversion ignores Windows file permissions and by default 
+does not set svn:executable. However, cygwin svn acts like Unix svn and 
+determines the svn:executable property based on file permissions. 
+</p>
+<p>If you create a file from the cygwin command line, by default it is 
+executable only if the filename ends with .bat, .com or .exe, or if its 
+content starts with #!. [This is what the doc says, but you may see -x 
+for all files.] If you create a file using a Windows tool, by default 
+its Windows permissions are executable by all. Cygwin interprets the 
+Unix-style permissions this way as well. If the file is executable by all, 
+cygwin svn sets the svn:executable property on the file when you invoke 
+<em>svn add</em>. 
+</p>
+</subsection>
+<subsection name="Removing existing executable properties from the repository">
+
+<p>You can use svn propdel to remove the svn:executable property from your 
+working copy. 
+</p>
+<pre>
+    svn propdel -R svn:executable .
+</pre>
+<p>will recursively remove the svn:executable property from all of the 
+files below the current directory.  You can use this and commit the 
+files to clean the repository if necessary. 
+</p>
+
+</subsection>
+<subsection name="Preventing Subversion from adding unwanted executable 
+properties">
+
+<p>Windows/cygwin users who don't want to have to think about using <em>svn 
+propdel</em> or <em>chmod</em> on each added file can use a non-cygwin 
+version of svn. The Subversion 1.2.3 Win32 binaries, downloadable from the 
+link at the bottom of <a  rel="nofollow" 
+href="http://subversion.tigris.org/project_packages.html">
+http://subversion.tigris.org/project_packages.html</a>, appear to work 
+well. After installation add the svn.exe location to your Windows PATH 
+variable. If you are switching from cygwin svn to Win32 svn </p>
+<ol type="1">
+<li>
+<p>Remove the subversion component from your cygwin installation 
+because when svn is invoked from a cygwin window, the cygwin version is 
+found even if your cygwin/bin directory is later on the path. (In the 
+Select Packages window of the setup wizard, navigate to the subversion 
+package in the Devel. category.  Click on the status icon until Uninstall 
+is displayed. Click next and continue through the wizard until installation 
+is complete.) 
+</p>
+</li>
+<li>
+<p>Copy the servers file and the auth folder from the sygwin ~/.subversion 
+directory to C:\Documents and 
+Settings\&lt;user&gt;\Application Data\Subversion used by Win32 
+subversion. 
+</p>
+</li>
+</ol>
+<p>Note that windows svn uses backslash as the path separator when 
+displaying file names. You cannot just copy and paste this file name 
+to another svn command when running from within a cygwin shell. 
+You need to enclose the file name into double quotes. 
+</p>
+<p>Alternatively, Windows users can set file permissions in Windows 
+Explorer. (Right-click on the top-level folder &amp; select Properties. 
+Select the Security tab. Click Advanced. Remove all instances of 
+Read &amp; Execute from the Permission Entries. Click "Reset permissions 
+on all child objects and enable propogations of inheritable permissions". 
+Click Apply. OK. OK.) You will have to do this again when you do a clean 
+checkout to a new directory. 
+</p>
+
+</subsection>
+</section>
+    -->
+</body>
+</document>

Added: uima/site/trunk/uima-website/xdocs/staging/testing-builds.xml
URL: http://svn.apache.org/viewvc/uima/site/trunk/uima-website/xdocs/staging/testing-builds.xml?rev=953085&view=auto
==============================================================================
--- uima/site/trunk/uima-website/xdocs/staging/testing-builds.xml (added)
+++ uima/site/trunk/uima-website/xdocs/staging/testing-builds.xml Wed Jun  9 17:20:37 2010
@@ -0,0 +1,129 @@
+<?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
+
+  http://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>Testing Builds</title>
+<author email="dev@uima.apache.org">
+ UIMA Documentation Team</author>
+</properties>
+
+<body>
+
+<!--section name="Testing Builds">
+<p>
+  <ul>
+		<li><a href="#source.code.repository">Source Code Repository</a>
+			<ul>
+				<li><a href="#source.code.repository.web.access">Web Access to Subversion</a></li>
+			</ul>
+		<br></br>
+		</li>
+		<li><a href="#checkout.code">Checking Out Code Using Subversion</a>
+			<ul>
+				<li><a href="#anonymous.checkout">Anonymous check out from Subversion</a></li>
+				<li><a href="#access.firewall">Access from behind a firewall</a></li>
+				<li><a href="#access.proxy">Access through a proxy</a></li>
+				<li><a href="#committer.access">Committer access</a></li>
+				<li><a href="#checkout.using.eclipse">Checking Out Code using Eclipse</a></li>
+			</ul>
+		<br></br>	
+		</li>
+		<li><a href="#submit.code.changes">Submitting Code Changes</a>
+			<ul>
+				<li><a href="#submitting.patch">Submitting a patch</a></li>
+				<li><a href="#committing.changes">Committing changes to subversion</a></li>
+			</ul>
+		<br></br>
+		</li>
+        <li><a href="#building.with.maven">Building UIMA from Source</a>
+			<ul>
+				<li><a href="#building.command.line">Building from the command line</a></li>
+				<li><a href="#building.eclipse">Building from Eclipse</a></li>
+				<li><a href="#test.failure">What to do if the tests fail</a></li>
+				<li><a href="#build.distribution">How to build the full Apache UIMA distribution</a></li>
+				<li><a href="#building.docbooks">Building uima-docbooks</a></li>
+			</ul>
+    </li>
+  </ul>
+</p>
+</section-->
+
+<section name="Testing the parent-pom-top build">
+
+<ol>
+  <li>Set up Eclipse (optional):
+    <ol><li>add m2Eclipse and the patch (see svn.html) and subversion</li></ol>
+  </li>
+  <li>Set up your maven "settings.xml" file (located in the directory containing your local repository;
+    in windows, this is in c:Documents and Settings\<your-userid>\.m2</your-userid>. Here's a sample:
+<pre><![CDATA[
+<settings xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
+
+  <profiles>
+    <profile>
+      <id>staged-release</id>
+      <repositories>
+        <repository>
+          <id>staged-release</id>
+          <url>https://repository.apache.org/content/repositories/orgapacheuima-042/</url>
+        </repository>
+      </repositories>
+    </profile>
+  </profiles>
+
+</settings>
+]]></pre>   
+  </li>
+  <li>Check out the build directory:
+    <pre>svn checkout http://svn.apache.org/repos/asf/uima/build/trunk some-checkout-local-dir</pre>
+  </li>
+  <li>Checkout something to build (to verify that the parent-pom-top works:
+    <pre>svn checkout http://svn.apache.org/repos/asf/uima/uimaj/trunk  some-checkout-local-dir</pre>
+  </li>
+  
+  <li>If you want, using m2Eclipse, import existing projects as maven projects, and select the build
+    directories, and import the build projects.  Repeat for the uimaj projects.</li>
+  <li>Using your favorite find/replace tools, find all instances of where the parent-pom-top is used
+    which specifies a version of 1-SNAPSHOT, and change those to just 1 (that's what is being tested).
+  </li>
+  
+  <li>Build the build tooling:
+    <pre>
+  cd to the build checkout dir / parent-poms
+  mvn -Pstaged-release install
+  
+  cd to uimaj checkout dir / aggregate-uimaj
+  mvn -Pstaged-release install 
+</pre></li>  
+</ol>
+
+<p>If no errors, then conclude that the parent-pom-top is "good" and vote +1 :-) .</p>
+
+<p class="note">Afterwards, go to your local repo and remove the org/apache/uima/parent-pom-top/1 directory,
+  to prevent it from accidentally being used, until it passes official release.</p>
+
+</section>
+</body>
+</document>