blob: e0545b52da3402c779b086496cec2d0aa18e8ca5 [file] [log] [blame]
<html>
<head>
<meta http-equiv="content-type" content="">
<title>Developing Apache Axiom</title>
</head>
<body lang="en">
<h1>Developing Apache Axiom</h1>
<p>This document will give you information on how to use SVN (Subversion) in
order to get an SVN checkout/update and making commits to repository etc in
the process of contributing to Apache projects (specifically Axiom).
Instructions on configuring IDEs for development and using Maven1/Maven2 to
build the project is also included here.</p>
<h2>Content</h2>
<ul>
<li><a href="#svn">Working with Subversion (SVN)</a></li>
<li><a href="#checkout">Checkout Apache Axiom from Subversion</a></li>
<li><a href="#maven">Installing Maven 1.x or 2.x</a></li>
<li><a href="#ide">Configuring your IDE</a></li>
</ul>
<a name="svn"></a>
<h2>Working with Subversion (SVN)</h2>
<p>The Axiom development team uses Subversion (SVN) for source control.
Subversion is a compelling replacement for CVS (Concurrent Versioning
System), developed under the auspices of the Tigris community and is licensed
under an Apache compatible license. To learn more about Subversion or to
download the latest distribution, visit the <a
href="http:///subversion.tigris.org" target="_blank">Subversion project
site</a>. If you are looking for guidance on setting up and installing
Subversion, please read the ASF <a
href="http://www.apache.org/dev/version-control.html" target="_blank">Source
Code Repositories page</a>.</p>
<a name="checkout"></a>
<h2>Checkout Axiom From Subversion</h2>
<p>When checking out the latest version of Axiom from the Foundation's
Subversion repository you must use one of the following URLs depending on
your level of access to the Axiom source code:</p>
<ul>
<li><b>If you are not a committer:</b> Use <a
href="http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/axiom"
target="_blank">http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/axiom</a></li>
<li><b>If you are a committer:</b> Use <a
href="https://svn.apache.org/repos/asf/webservices/commons/trunk/modules/axiom"
target="_blank">https://svn.apache.org/repos/asf/webservices/commons/trunk/modules/axiom</a></li>
</ul>
If you are a committer, make sure that you have selected an svnpasswd. To do
this you must log into svn.apache.org. For more information, please read the
ASF <a href="http://www.apache.org/dev/version-control.html"
target="_blank">Source Code Repositories page</a>.
<p>Once you have successfully installed Subversion, you can check out Axiom
trunk by following these steps:</p>
<ol type="1">
<li>Run <strong>svn co &lt;repository URL&gt; axiom</strong> where
repository URL is one of the URLs from the previous list.</li>
<li>This step will checkout the latest version of the Axiom codebase to a
directory named "axiom". The second parameter to the svn co selects a
directory to create on your local machine. If you want to checkout Axiom
to a different directory, feel free to change Axiom to any other
directory name.</li>
<li>To update your working copy to the latest version from the repository.
Execute the <strong>svn update</strong> command.</li>
<li>If you would like to submit a patch, you can execute <strong>svn
diff</strong> to create a unified diff for submission to the WS-Commons
JIRA issue tracker.</li>
</ol>
<a name="maven"></a>
<h2>Installing Maven</h2>
<p>Axiom's build currently supports Maven2 as well as Maven1. Maven is a
build system that allows for the reuse of common build projects across
multiple projects. For information about obtaining, installing, and
configuring Maven, please see the <a href="http://maven.apache.org"
target="_blank">Maven project page</a>.</p>
<p>To use Maven1 to build the Axiom project, follow these simple steps:</p>
<ol type="1">
<li>Install <a href="http://maven.apache.org/maven-1.x/"
target="_blank">Maven1</a>. See <a
href="http://maven.apache.org/maven-1.x/start/install.html"
target="_blank">here</a> for instructions.
<ul>
<li>Create a MAVEN_HOME environment variable.</li>
<li>Add MAVEN_HOME/bin to your PATH</li>
</ul>
</li>
<li>Go to the axiom folder in the command prompt and type
<strong>maven</strong>.</li>
<li>Maven will then automatically download all the jars, compile, test and
build the Axiom deliverables.</li>
</ol>
<p>To use Maven2 to build the Axiom project, follow these simple steps:</p>
<ol type="1">
<li>Install <a href="http://maven.apache.org/" target="_blank">Maven2</a>.
See <a href="http://maven.apache.org/download.html#installation"
target="_blank">here</a> for instructions.</li>
<li>Go to the axiom folder in the command prompt and type <strong>mvn
install</strong>.</li>
<li>Maven2 will then automatically download all the jars, compile, test and
build the Axiom deliverables.</li>
</ol>
<a name="ide"></a>
<h2>Configuring your IDE</h2>
<p>The Axiom development team uses a variety of development tools from vi to
emacs to eclipse to IntelliJ IDEA. The following section is not an
endorsement of a specific set of tools, it is simply meant as a pointer to
ease the process of getting started with Axiom development.</p>
<p>With Maven 1:</p>
<ul>
<li><strong>IntelliJ IDEA-</strong> type <strong>maven
idea:multiproject</strong>. This will generate the necessary IDEA .ipr,
.iml and .iws project files</li>
<li><strong>eclipse</strong>- The Maven eclipse plugin does not support
Maven multiprojects. You will need to execute <strong>maven
eclipse</strong> from each of the module directories.</li>
</ul>
</body>
</html>