<?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.
  -->

<document>
    <properties>
        <title>Axis2 Transports - How to build from Source</title>
    </properties>
<body>
<section name="Obtaining the code">
<p>
    You can obtain the code by downloading the <a class="externalLink" href="download.html">source distribution</a> or, more commonly, checking out the source from Subversion (SVN).
    To checkout the code from <a class="externalLink" href="http://subversion.tigris.org/">Subversion</a>, firstly get subversion installed, then use the following commands:
    <pre>svn co http://svn.apache.org/viewcvs.cgi/webservices/commons/trunk/modules/transport [path-where-you-want-the-code]</pre>
    If you are a committer then you need to use the secure version:
    <pre>svn co https://svn.apache.org/viewcvs.cgi/webservices/commons/trunk/modules/transport [path-where-you-want-the-code]</pre></p>
    <p>You may refer to the <a href="source-repository.html">source repository guide</a> for more information on checking out the code</p>
</section>
<section name="Building">
<p>
The first thing you need to build the code is JDK1.5 and <a class="externalLink" href="http://maven.apache.org/download/">Maven2</a>. You need at least version 2.0.7.
</p>
<p>
To build all the transports, in the top level transports source folder do:
<pre>
mvn clean install
</pre></p>

</section>
<section name="Offline builds">
<p>
The first time you build Maven downloads all the required dependency jars to your local repository,
after there has been a successful build you can add the &quot;-o&quot; parameter to  the above commands to run in offline mode
which avoids going out to remote Maven repositories. The result - the build runs faster.
<hr />
<pre>
mvn clean install -o
</pre>
</p>
</section>
<section name="Skipping tests">
<p>
If you don't want to have all the Axis2 Transports test cases run during the build you can add the parameter &quot;-Dmaven.test.skip=true&quot;, eg:
<pre>
mvn clean install -o -Dmaven.test.skip=true
</pre>
</p>
</section>
<section name="Updating_Snapshots">
<p>
Sometimes the trunk build uses snapshot versions of some dependency jars which can go out
of date but may not get refreshed in your local Maven repository even when the &quot;-o&quot; parameter is not used.
So if you get build failures you can try refreshing any snapshot dependencys with the &quot;-U&quot; parameter, eg:
<pre>
mvn clean install -U
</pre>
By default the Maven local repository is in your home directory, you can change this so the build
uses use a different local repository with the parameter &quot;-Dmaven.repo.local=&quot;, eg:
<pre>
mvn clean install -Dmaven.repo.local=\Transports\MyRepo
</pre></p>
</section>
<section name="Eclipse_Projects">
<p>
You can create Eclipse project definitions for Axis2 Transports (that can be imported directly into Eclipse).
At the top level Transports source folder run:
<pre>
mvn eclipse:eclipse
</pre>
Now within eclipse you can import those Axis2 Transports projects into an Eclipse workspace.
From Eclipse do File -&gt; Import, expand the &quot;General&quot; toggle and choose &quot;Existing Projects into  Workspace&quot;,
click Next, click Browse and navigate to your Axis2 Transports SVN folder, click OK and it should find ten Axis2 Transports projects,
click Finish. That should set up the projects and show them in the Package Explorer.
There will be lots of compile errors about missing classpath entries,
to fix this select Window -&gt; Preferences, expend the Java toggle, then expand the Build Path toggle and
select Classpath Variables.
Click New and use the name &quot;M2_REPO&quot; and then click Folder and navigate to you local Maven repository
(eg C:/Documents and Settings/Administrator/.m2/repository), click OK and again OK and it should rebuild everything with all the compile errors gone.
</p>
</section>
    </body>
    </document>