| <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 <repository URL> 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> |