<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 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.
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>

  <header>
    
    <title>Apache Gump&#x2122;: Getting Started</title>
  <authors>
  	<person name="Adam R. B. Jack" email="ajack@apache.org"/>
  </authors></header>

<body>

<!--
  <section><title>Getting started with Apache Gump</title>     
    <p>There are a number of ways to work with Gump, and
    </p>
    <table>
        <tr><th>Interest</th><th>Why</th><th>Descriprion</th></tr>
                <tr>
            <td>What is Gump&gt;</td>
            <td>Want Gump 101</td>
            <td/>
        </tr>
        
        <tr>
            <td>Getting your project Gumped</td>
            <td>Continuous integrate is powerful</td>
            <td>This is a typical entry point, you know Gump is there, you want to
                benefit from the service (but you don't have time to look deeper into
                Gump's internals)</td>
        </tr>
        
        <tr>
            <td>Getting your own (custom) Gump</td>
            <td>You want to Gump your private projects</td>
            <td>This is becomming more and more popular, as Gump matures
                to be more easily installable.</td>
        </tr>
        
        <tr>
            <td>Developing Gump</td>
            <td>You wish it did more</td>
            <td>Gump is an awesome continuous integration build tool,
                but in custom environments there are site specific additions
                that might be nice, or there are core features it lacks.
                Here is how to start.</td>
        </tr>
    </table>

    <section><title>gump101</title>
      <p/>
    </section>
    
    <section><title>project</title>
      <p>Submitting a new <link href="project.html">project</link> </p>
    </section>

    <section><title>custom</title>
     <p>You wish to install a local Gump</p>
    </section>

    <section><title>developer</title>
     <p/>
    </section>
    
    -->
    
    <section><title>Planning</title>
      <p>The bare minimum required to get started is a JDK, a JAXP 1.1
      compliant parser, a command prompt (bash or Windows NT/2K), and Perl.
      Perl is only used at the moment for some of the publishing and
      notification, so it can be omitted.</p>
      
      <p>It is highly recommended at this point that you review the
      description of the data definitions used by Apache Gump, starting with
      the <link href="site:om/overview">overview</link>.</p>
      
      <section><title>Pre-requisites</title>
      	<section><title>Source Control System</title>
      	<p>One of these two is required.</p>
      	<ul>
      		<li>CVS -- Concurrent Versioning System</li>
      		<li>SVN -- <fork href="https://subversion.apache.org">Subversion</fork></li>
      	</ul>
      	</section>
      	<section><title>Jar Downloading</title>
      	<p>This is optional.</p>
      	<ul>
      		<li>Depot -- <fork href="https://incubator.apache.org/depot">Depot Updater</fork></li>
      	</ul>
		</section>
	  </section>
    </section>

    <section><title>Getting the source/metadata for Gump</title>
  	  <section><title>Getting the source</title>
		<p>Gump source code resides in Subversion <fork href="https://svn.apache.org/repos/asf/gump/trunk/">here</fork>.</p>
      <source>
      svn checkout https://svn.apache.org/repos/asf/gump/trunk/ gump 
      </source>      
	  <p>This checks out the source code into a sub-directory called <strong>gump</strong>. 
		Export $GUMP_HOME to (fully qualified) point to that directory.</p>
	  </section>
	  <section><title>Getting the metadata</title>

        <p>If you have checked out the code then you already have the
          metadata in gump/metadata.</p>

		<p>The shared Gump metadata resides in SVN <fork href="https://svn.apache.org/repos/asf/gump/metadata">here</fork>.</p>
	<source>
      svn checkout https://svn.apache.org/repos/asf/gump/trunk/metadata metadata
      </source>
	  </section>
    </section>

    <section><title>Defining your workspace</title>
      <p>A sample workspace is provided, in 'workspace.xml', with some relative
		paths (and a basedir of '.').  
		Edit this to fit your environment/needs.  The suggested
      name for the file you create is your host name.</p>
	  
	  <p>'workspace.xml' comes referencing profile/minimal-profile.xml, a very small
		profile (containing things up to Ant). Edit the workspace to point to 'profile/gump.xml'
		for a full Gump.</p>

      <p>Again, reference the <link href="site:om/overview">overview</link> to see
      how you can add projects, define your own profiles, and the modify
      which version of referenced projects you want to build.</p>
    </section>

    <section><title>Installing Packages</title>
      <p>Packages for which source is not easily accessible are not built by Gump.
      Where such packages are required prerequisites for building other projects, Gump
      allows binary versions of the package to be installed to satisfy the prerequisites.
      Your workspace definition specifies where installed packages are to be found.
      </p>

      <p>A list of some of the packages you might want to install can be found
      <link href="http://vmgump.apache.org/packages.html">
      here</link>.</p>

      <p><strong>JDK 1.4</strong> includes both <code>jaxp</code> and <code>jsse</code>
      which were previously available as separately installable packaged.
      The dependencies on these packages are now marked as optional. If you are
      using a JDK prior to 1.4, the packages must be installed. For JDK 1.4 and
      later the packages need not be installed and the version provided with the
      JDK will be utilised.
      </p>
    </section>
</body>
</document>
